Zastosuj algorytm sprawdzania czy napis "Ala ma kota" jest palindromem z wyrazem "atokam alA".



Odpowiedź :

Odpowiedź:

#include<iostream>

using namespace std;

int main()

{

   string s1,s2;

   int tab[123-65]={0};

   s1="Ala ma kota";

   s2="atokam alA";

   if(s1.length()!=s2.length())

   {

       cout<<"to nie jest palindrom!\n";

       return 0;

   }

   int spacje=0;

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

   {

       if(s1[i]==' ')

       {

           spacje++;

       }

   }

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

   {

       if(s2[i]==' ')

       {

           spacje--;

       }

   }

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

   {

       tab[int(s1[i])-65]++;

   }

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

   {

       tab[int(s2[i])-65]--;

   }

   bool same0=true;

   for(int i=65;i<123;++i)

   {

       if(tab[i-65]!=0)

       {

           same0=false;

           break;

       }

   }

   if(same0==true&&spacje==0)

   {

       cout<<"to jest palindrom!\n";

   }

   else cout<<"to nie jest palindrom!\n";

   return 0;

}

Wyjaśnienie:

liczę na naj ;)