Форум программистов, компьютерный форум CyberForum.ru

Метод класса строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Цикл http://www.cyberforum.ru/cpp-beginners/thread722292.html
Здравствуйте! Такой вопрос как организовать цикл который бы делал так: есть массив 00000 00000 00200 00000 00000
C++ наследование классов (создать vector, в котором будут находиться элементы классов) есть class defender class forvard : public defender class goalie : public defender мне нужно создать vector ,в котором будут находиться элементы этих классов,vector<тип> players,какой писать тип? defender? или defender*? еще в каждом классе есть конструктор, goalie(string sn,string pos,int t,int ts,int h,int g):defender(sn, pos,t,ts),hits(h),goals(g){}; http://www.cyberforum.ru/cpp-beginners/thread722286.html
массив (исправить ошибку) C++
Подскажите, плиз, где я допустился ошибку? Надо сделать так, что я ввожу массив, а если число меньше или равно 0, то его надо переместить в конец массива. #include <iostream> #include <string.h> #include <conio.h> const int N=15; using namespace std; int main(){ cout<<"Enter 15 elements"<<endl;
проверить выражение корректно или нет C++ C++
естъ какойта выражение в типи стринг проверить выражение корректно или нет например a+b-c*d+(a-v) это корректно a+b-c*d+(a_v)) или a1+b?-c*-d+(a_v)( это некорректно
C++ Вставка ассемблерного кода в С++ для очистки экрана http://www.cyberforum.ru/cpp-beginners/thread722268.html
#include "stdafx.h" #include <conio.h> #include "iostream" #include <fstream> #include "windows.h" #include <stdlib.h> #include <cstdlib> #include <string> using namespace std;
C++ перевод формулы Доброго времени суток.Мне нужно перевести формулу C=C0*e "В СТЕПЕНИ" -(Q/V)*t на язык С++ Заранее Спасибо. подробнее

Показать сообщение отдельно
9cbka
2 / 2 / 0
Регистрация: 13.10.2012
Сообщений: 60
08.12.2012, 03:24  [ТС]     Метод класса строки
Цитата Сообщение от MrGluck Посмотреть сообщение
Вам твердят, что неверно же.
У вас в проверке на условие выхода из цикла не выполняется сравнение i и strlen(ss), а идет присваивание второго первому.

Добавлено через 15 минут
9cbka, это поможет тебе в решении:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cstring>
 
 
int main()
{
    char x[20];
    std::cin.getline(x, 20);
    char y[20];
    int j = 0;
    for (int i = strlen(x) - 1; i >=0 && x[i] != ' '; i--)
        y[j++] = x[i];
    std::cout << y;
}
По этому коду, должно быть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 void String::run()
    {
        unsigned int i=0, j=0;
        char *ss;
        ss = new char [MAX];
        ss[0]='\0';
 
        if(fmod(strlen(str),4)==0) 
        {       
            //zanosim simvoli v obratno poryadke
            for(i=strlen(str)-1;(i>=0&&str[i]!=' ');i--)
            {
                ss[j]=str[i];
                j++;
            }
 
            //stroka-perevertish
            for(i=0;i=strlen(ss);i++)
            {
                str[j]=ss[i];
                j++;
            }
            
            delete [] ss;
        }
}
Но это не верно. Вот весь код программы:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#include <iostream.h>
#include <istream.h> //dlya cin.getline()
#include <string.h>
#include <conio.h>
#include <fstream.h>
#include <math.h> 
 
///////////////////////////////////////
const int MAX=255;
 
class String
{
    private:
        char *str;
        char *strend;
    public:
        String()
        {
            str = new char [MAX];
            str[0]='\0';
            strend = new char [MAX];
            strend[0]='\0';
            //cout << "Constructor!";
        }
//-------------------------------------
        void set();//metod vvoda ish. stroki
        void print();//metod pechati
        void run();//metod vipolneniya zadachi 
        void printend();//metod pechati strend
//-------------------------------------
        String& operator= (String&ss)
        {
            strcpy(strend, ss.str);
            return *this;
        }
//-------------------------------------
        ~String()
        {
            delete []str;
            delete []strend;
            //cout << "Destructor!";
        }
};
//-------------------------------------
 void String::run()
    {
        unsigned int i=0, j=0;
        char *ss;
        ss = new char [MAX];
        ss[0]='\0';
 
        if(fmod(strlen(str),4)==0) 
        {       
            //zanosim simvoli v obratno poryadke
            for(i=strlen(str)-1;(i>=0&&str[i]!=' ');i--)
            {
                ss[j]=str[i];
                j++;
            }
 
            //stroka-perevertish
            for(i=0;i=strlen(ss);i++)
            {
                str[j]=ss[i];
                j++;
            }
            
            delete [] ss;
        }
}
//-------------------------------------
    void String::set()
    {
        cout << "Vvedite stroku: ";
        char *stroka = new char [MAX];
        stroka[0]='\0';
        cin.getline(stroka,MAX);
        for(unsigned int i=0;i<strlen(stroka);i++)
        {
            str[i] = stroka[i];
        }
        str[i]='\0';
        delete []stroka;
    }
//-------------------------------------
    void String::print()
    {
        ofstream file("file.txt", ios::app);
        for (unsigned int i=0; i<strlen(str); i++) 
        {
             cout << str[i];
        }
 
 
        file << endl;
        for (i=0; i<strlen(str); i++) 
        {
             file << str[i];
        }
    }
//-------------------------------------
    void String::printend()
    {
        cout << "\nSkopirovannaya stroka: ";
 
        for (unsigned int i=0; i<strlen(strend); i++) 
        {
             cout << strend[i];
        }
    }
//-------------------------------------
 
//////////////////////////////////////////////
void main(void)
{
    ofstream file("file.txt", ios::out);
 
    String s1,s2;
 
    s1.set();
    s1.print();
    s1.run();
    s1.print();
 
    s2=s1;
 
    s2.printend();
 
    cout << "\n" << endl;
 
    String *s3,*s4;
    s3=new String; s4=new String;
    s3->set();
    s3->print();
    s3->run();
    s3->print();
 
    *s4=*s3;
 
    s4->printend();
 
    cout << "\n" << endl;
 
    getch();
}
 
Текущее время: 07:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru