Napisałem program sprawdzający czy dany wyraz jest palindromem, program działa, lecz nie wiem czy użyty 'algorytm' jest poprawny, gdyż nie zetknąłem się z takim sposobem w internecie. Czy tok rozumowania jest poprawny, czy może jest to zby "mechaniczna" metoda?
#include <iostream>
using namespace std;
string wyraz;
string wyraz1;
int dlugosc;
int main()
{
cout << "podaj wyraz" << endl;
cin>>wyraz;
wyraz1=wyraz;
dlugosc=wyraz.length();
for(int i=0;i<=(dlugosc-1)/2;i++)
{
swap(wyraz[i],wyraz[(dlugosc-1)-i]);
}
if(wyraz==wyraz1)
{
cout<<"palindrom";
}
else
{
cout<<"nie sa palindromami";
}
return 0;
}