#include #include #include using namespace std;int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); string s, s_reversed; int k = 0; cout << "Введите слово: "; cin >> s; for(unsigned int i = 0; i < s.size(); i++) { if(s[i] == ' ') { cout << "Ошибка! Должно быть одно слово!" << endl; return 1; } } for(unsigned int j = s.size()-1; j >= 0; j--) { s_reversed.insert(k, s.substr(j, 1)); k++; } if(s == s_reversed) cout << "Слово является палиндромом!" << endl; else cout << "Не палиндром!" << endl; return 0; }
for(unsigned int j = s.size()-1; j >= 0; j--) { s_reversed.insert(k, s.substr(j, 1)); k++; }
for(int j = int(s.size())-1; j >= 0; j--) { s_reversed.insert(k, s.substr(j, 1)); k++; }
Вот мой код:
Почему-то когда начинается выполнение последнего цикла… …возникает ошибка «This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information».
При этом, если чуть-чуть изменить цикл на такой… …то всё работает прекрасно. А в чём причина такого поведения?
Если что, я учусь в Visual C++ 2008.