334
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
Exemplu
Intrare
ele deschid un capac, aerisirea este ok
Ieșire
aerisirea
#include <bits/stdc++.h> using namespace std; bool palindrom(char s[]) { for(int i = 0 , j = strlen(s)-1; i < j ; ++i , --j) if(s[i]!=s[j]) return 0; return 1; } int main() { char s[256] , *p , pal[11]="zzzzzzzzzz"; cin.getline(s , 256); p = strtok(s , " .,"); bool gasit = false; while(p) { if(palindrom(p)) if(strcmp(p , pal) < 0) strcpy(pal , p) , gasit = 1; p = strtok(NULL , " .,"); } if(gasit) cout << pal; else cout << "IMPOSIBIL"; return 0; }
Comentarii