Potrzebuję pomocy w napisaniu programu w C++ na rozpoznawanie palindromów (wyrazów które są takie same z obu stron na przykład anna), program musi być odporny na spacje (np an na), znaki interpunkcyjne (np a,n.n,a) oraz wielkość liter (np AnNa)

Potrzebuję na dziś dziękuje jeśli ktoś to potrafi :)



Odpowiedź :

Odpowiedź:

Wyjaśnienie:

#include <iostream>

using namespace std;

bool czyPalindrom(string str)

{

   for(int i=0; i<str.length(); i++)

   {

       if(str[i] != str[str.length()-1-i]) return false;

   }

   return true;

}

int main()

{

   string str;

   getline(cin, str);

   

   for(int i=0; i<str.length(); i++)

   if(isalpha(str[i]) == 0 || str[i] == ' ')

   getline(cin, str);

   

   for(int i=0; i<=str.length(); i++)

   str[i] = tolower(str[i]);

   

   if(czyPalindrom(str)) cout << "Jest to palindrom.";

   else cout << "Nie jest to palindrom.";

   return 0;

}