Ответы пользователя по тегу C++
  • Почему возникла ошибка Comparison between pointer and integer?

    @pestunov
    Str[4] == ','
    Символ нужно писать в апострофах, а не в кавычках. В кавычках пишутся строки, например, str == "abcde".
    Ответ написан
    Комментировать
  • С++ - как отсортировать структуру?

    @pestunov
    Не нужно переставлять все поля по одному
    tempS = z[i].surname;
            z[i].surname = z[i + 1].surname;
            z[i + 1].surname = tempS;
    
            tempG = z[i].gr;
            z[i].gr = z[i + 1].gr;
            z[i + 1].gr = tempG;
    
            temp1 = z[i].ex1;
            z[i].ex1 = z[i + 1].ex1;
            z[i + 1].ex1 = temp1;
    
            temp2 = z[i].ex2;
            z[i].ex2 = z[i + 1].ex2;
            z[i + 1].ex2 = temp2;
    
            temp3 = z[i].ex3;
            z[i].ex3 = z[i + 1].ex3;
            z[i + 1].ex3 = temp3;
    
            tempSr = z[i].sr;
            z[i].sr = z[i + 1].sr;
            z[i + 1].sr = tempSr;


    Достаточно написать

    temp = z[i];
            z[i] = z[i + 1];
            z[i + 1] = temp;


    В отличие от массива, структуры можно присваивать целиком, а не поэлементно.
    Ответ написан
    Комментировать
  • Как заставить шифр цезаря шифровать данные после пробела?

    @pestunov
    Используй getline(cin, *) вместо cin. cin пробел воспринимает как конец ввода, а getline - нет.
    Запусти эти фрагменты кода и всё поймешь

    string s2;
    	getline(cin, s2);
    	cout << s2 << endl;


    string s1;
    	cin >> s1;
    	cout << s1 << endl;
    Ответ написан
    Комментировать
  • Массив структур в c++?

    @pestunov
    Вот работающий код (ошибок нет)
    #include <iostream>
    #include <string>
    using namespace std;
    
    struct autom {
    	bool so;
    };
    
    void func_init(struct autom arr[], const int v) {
    	for (int i = 0; i < v; i++) {
    		arr[i].so = false;
    	}
    }
    
    int main() {
    	
    	const int v = 10;
    	autom mas[v];
    	func_init(mas, v);
    
    	for (int i = 0; i < v; i++) {
    		cout << mas[i].so;
    	}
    	
    }
    Ответ написан
    Комментировать