# PBinfo #975 – cuvinte2 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

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 maximum 10 litere

Exemplu:
Intrare

ele deschid un capac, aerisirea este ok
Ieșire

aerisirea

## Cod sursă C++

```cpp
#include <iostream>
#include <string.h>
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 temp = 0;
    while (p) {
        if (palindrom(p) == true) {
            temp++;
            if (temp == 1) strcpy(cmin, p);
            else if (strcmp(p, cmin) < 0) strcpy(cmin, p);
        } p = strtok(NULL , " .,");
    } if (temp > 0) cout << cmin;
    else cout << "IMPOSIBIL";
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/975)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/975/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-975/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
