Palindromy
Palindromy to wyrazy, zdania, sentencje, wiersze czy inne utwory, które można czytać od przodu lub od tyłu (wspak) i ich treść jest dokładnie taka sama.
Nazwa "palindrom" pochodzi z greckiego "palin" - z powrotem (wracać po swoich śladach) i "dromos" - droga. Ponizej przykłady palindromów.
• kobyła ma mały bok
• a tu mam mamuta
• mów, dała dwóm?
• Asa loguj u golasa
• wół utył i ma miły tułów
• może jeż łże jeżom
• Ada bąki piką bada
• to lodowy wodolot
• to kłamał kot
• Lema gra Gargamel
• a to kanapa pana kota
• ławy pokazowo zakopywał
• u Kazi żądze - zdąż Izaku
#include <iostream>
#include <cstdlib>
#include <cstring>
//Palindromy
using namespace std;
int main()
{
string slowo; //definicja słowa jako łańcuch znakowy
int pom=0; //zmienna pomocnicza ze zdefiniowanym zerem
cin >> slowo; //wprowadzanie słowa
for(int i=0; i<(slowo.length()/2); i++) //pętla powtarza się póki i jest mniejsze od długości słowa podzielonego przez 2
{
if(slowo[i] == slowo[slowo.length()-1-i]) pom++; //jeżeli litera słowa o numerze i jest równa jego długości pomniejszonej o 1 oraz o i, zmiennna pomocnicza zostaje powiększona o 1
}
if(pom-1 == (slowo.length()/2)-1) cout << "PALINDROM!" << endl; else cout << "Nie PALINDROM!" << endl;
//jeżeli zmienna pomocnicza pomniejszona o jeden jest równa długości słowa podzielonego przez 2 i pomniejszonego o jeden
//słowo jest palindromem, w przeciwnym razie nie jest
system("pause"); //zatrzymanie programu i oczekiwanie na klawisz (WINDOWS!)
return 0; //zwrócenie wartości 0, po wykonaniu programu
}