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; }
|