Тема: Проблема у роз'язку задач на мові С++ (чи є слово паліндром)
Отже, умова задачі така: по даному рядку оприділіть, чи є він паліндромом (тобто чи можна прочитати його навпаки, як, наприклад, слово "вижив"); вхідні дані: один рядок без пробілів; вихідні дані: 0, якщо слово - паліндром, -1 в протилежному випадку.
Мій розв'язок:
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
string s;
cout << "Express 's' " << endl;
getline(cin,s);
int h,a,i;
h=s.length();
a=h;
char str[h];
for (i=0;i<a;i++)
{
str[i]=s[h-1];
h--;
}
cout << s.compare(str) << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Підкажіть, будь ласка, в чому помилка, а то при написанні тільки одного символа в рядку отримую -2, а коли слово паліндром і складається з 5 елементів, я чомусь все одно отримую -1.