Cześć, mam problem z zadaniem o takiej treści
"Sprawdz czy podany wyraz jest palindromem. W pierwszej linii standardowego wejścia znajduje się jedna liczba całkowita N z zakresu od 1 do 1000, określająca liczbę wyrazów, które umieszczone są kolejno po sobie w następnych wierszach. Każdy wyraz to ciąg znaków (tylko małych liter) bez spacji. Długość słowa 1 do 100 znaków. Dla każdego wyrazu napisz od nowej lini TAK jeśli jest palindromem i NIE jeśli nie jest."
Utknąłem w momencie w którym program wypisuje czy dane słowo jest palindromem czy nie, ale wyświetla on tylko prawidłową odpowiedź dla ostatniego podanego słowa, np podaje słowa: mama, tata, anna, więc program powinien wypisać NIE NIE TAK, a wypisuje TAK TAK TAK. Proszę o pomoc.
#include <iostream>
using namespace std;
#include <string>
int i, j, N;
bool czy_palindrom(string wyraz)
{
bool jest=true;
for(int i=0, j=wyraz.length()-1; i<j; i++, j--)
if(wyraz[i]!=wyraz[j])
{
jest=false;
break;
}
return (jest==true);
}
int main()
{
string wyraz;
cout << "podaj liczbe wyrazow";
cin >> N;
for (i = 0; i < N; i++)
{
cout << "podaj wyraz" << endl;
cin >> wyraz;
}
for (i = 0; i < N; i++)
{
czy_palindrom(wyraz);
if (czy_palindrom(wyraz)==true)
{
cout << "TAK" << endl;
}
else
{
cout << "NIE" << endl;
}
}
return 0;
}