Informatică, întrebare adresată de ionelaiona, 9 ani în urmă

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

Răspunsuri la întrebare

Răspuns de ionutg38
2
#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