# PBinfo #4482 – PrefixSufixMax1 – Rezolvare C++

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

## Enunț

Cerinţă
Să se scrie un program care să determine cel mai lung prefix care este palindrom și cel mai lung sufix care este palindrom dintr-un cuvânt citit de la tastatură.

Date de intrare
Programul va citi de la tastatură un cuvânt format din cel mult 100 de caractere litere mici.

Date de ieşire
Programul va afişa pe ecran cel mai lung prefix care este palindrom, urmat de cel mai lung sufix care este palindrom ale cuvântului citit, separate printr-un spațiu.

Restricţii şi precizări

un cuvânt este palindrom dacă se citește la fel în ambele direcții
cuvântul citit este format din cel mult 100 de caractere litere mici
dacă cuvântul citit are proprietatea că este palindrom, atunci atât cel mai lung prefix, cât și cel mai lung sufix, vor fi identice cu cuvântul citit.

Exemple:
Intrare

anna
Ieşire

anna anna
Intrare

anamaria
Ieşire

ana a

## Cod sursă C++

```cpp
#include <iostream>
#include <cstring>
using namespace std;
int 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[101],pmax[101]="",smax[101]="",suf[101],pre[101];
    cin>>s;
    for(int i=0;i<=strlen(s);i++)
    {
        strcpy(suf,s+i);
        strcpy(pre,"");
        strncat(pre,s,i);
        if(palindrom(pre)) strcpy(pmax,pre);
        if(palindrom(suf) && strlen(suf)>strlen(smax)) strcpy(smax,suf);
    }
    cout<<pmax<<" "<<smax;
    return 0;
}
```

## Resurse

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