Napisz program, który pobiera od użytkownika łańcuch znaków o maks. długości
40 znaków i sprawdza, czy jest on palindromem. W przypadku gdy podany
tekst nie jest palindromem program powinien wyœwietlic minimalna liczbę zmian
znaków potrzebna, by zmienić podany ciąg w palindrom.
Przykład 1.:
Podaj tekst: robot
Najmniejsza liczba zmian liter konieczna, by przekształcić słowo
"robot" w palindrom wynosi: 1
Przykład 2.:
Podaj tekst: AlaalA
Podany ciąg jest palindromem.
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char lancuch[40];
int dlugosc,i=0,zmiany=0;
cout<<"Podaj tekst: ";
cin>>lancuch;
dlugosc=strlen(lancuch)-1;
while(i<dlugosc)
{
if(lancuch[i]==lancuch[dlugosc])
{
i++;
dlugosc--;
}
else
{
zmiany++;
i++;
dlugosc--;
}
}
if(zmiany!=0)
{
cout<<"Podany tekst nie jest palindromem."<<endl;
cout<<"Najmniejsza liczba zmian liter konieczna, by przeksztalcic\nslowo \""<<lancuch<<"\" w palindrom to: "<<zmiany<<endl;
}
else cout<<"Podany tekst: \""<<lancuch<<"\" jest palindromem."<<endl;
cin.get();
return 0;
}
Offline