24.2.3.24011330. Napisati program koji će za rečenicu unesenu sa tastature ispisati da li je palindrom ili nije. Pod palindromima smatramo riječi ili rečenice koje se isto čitaju sa obe strane (npr. “kapak”). Prilikom ispitivanja treba ignorirati eventualne razmake, interpunkcijske znake i razliku između velikih i malih slova, tako da rečenica “Ana voli Milovana” treba da bude prepoznata kao palindrom, iako bukvalno pročitana sa suprotnog kraja glaso “anavoliM ilov Ana”. Još neki od poznatih palindromnih rečenica su “Udovica baci vodu”, “E, sine, ženi se”, “I jogurt ujutru goji”, “I Dara za mast sama zaradi”, “Jovi limaru gumu gura Milivoj”, itd. Historijski najpoznatiji palindrom je latinska rečenica "Sator Arepo tenet opera rotas" za koju se u srednjem vijeku smatralo da ima magična svojstva.

Opis rješenja:

Listing programa:

#include <iostream>
#include <conio.h>
#include <cstring>
#include <cctype>

using namespace std;
int main(){
const int c(100);
char s[c],pom[c];
cout<<"Unesite recenicu:\n";
cin.getline(s,sizeof s,'\n');
int j(0);
for(int i=0;i'A'&&s[i]<'Z')||(s[i]>'a'&&s[i]<'z'))
        pom[j++]=toupper(s[i]);
}
bool t(false);
for(int i=0;i<((j-1)/2);i++)
    if(pom[i]!=pom[j-i-1]){t=true;break;}
if(t)cout<<"No!";
else cout<<"Yes!";
getch();
return 0;
}

Izvođenje programa:

Riješeni zadaci 2    Index