Cerința
Se dă o propoziție formată din litere mici ale alfabetului englez, spații și semnele de punctuație ,.. Determinați un cuvânt palindrom din propoziție, primul în ordine alfabetică.
Date de intrare
Programul citește de la tastatură propoziția dată.
Date de ieșire
Programul va afișa pe ecran cuvântul determinat, sau mesajul IMPOSIBIL, dacă în șir nu există niciun cuvânt palindrom.
Restricții și precizări
propoziția citită va conține cel mult 255 de caractere
cuvintele din propoziție vor avea maxim 10 litere
Si explicatie daca se poate :)
Răspunsuri la întrebare
Răspuns de
14
#include <iostream>
#include <cstring>
using namespace std;
bool palindrom(char *p)
{
for(int i = 0 , j = strlen(p) - 1 ; i < j ; i ++, j --)
if(p[i] != p[j])
return false;
return true;
}
int main()
{
char s[256], cmin[11];
cin.getline(s, 256);
char * p = strtok(s , " .,");
int cnt = 0;
while(p)
{
if(palindrom(p))
{
cnt ++;
if(cnt == 1)
strcpy(cmin , p);
else
if(strcmp(p , cmin) < 0)
strcpy(cmin , p);
}
p = strtok(NULL , " .,");
}
if(cnt > 0)
cout << cmin;
else
cout << "IMPOSIBIL";
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Chimie,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă