# PBinfo #89 – palindrompropozitie – Rezolvare C++

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

## Enunț

Un cuvânt este palindrom dacă se citește la fel în ambele direcții. De exemplu, capac este palindrom.

O propoziție este palindromică dacă prin eliminarea spațiilor și a altor semne de punctuație devine palindrom. De exemplu, propoziția ele fac cafele este palindromică.

Cerinţa
Să se scrie un program care citește mai multe propoziții și determină despre fiecare dacă este palindromică.

Date de intrare
Fișierul de intrare palindrom.in conține pe prima linie un număr natural n, iar pe următoarele n linii câte o propoziție alcătuita din litere mici ale alfabetului englez și spații.

Date de ieşire
Fișierul de ieșire palindrom.out va conține n linii. Linia i va conține valoarea 1 dacă pe linia i+1 din fișierul de intrare se află o propoziție palindromică, și 0 în caz contrar.

Restricţii şi precizări

0<n<100
fiecare propoziție va conține cel mult 200 de caractere.

Exemplu:
palindrom.in

4
capac
ele fac cafele
ale nu fac cafele
aerare
palindrom.out

1
1
0
0

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
ifstream in("palindrom.in");
ofstream out("palindrom.out");
int palindrom(char * text) {
    for (int i = 0, j = strlen(text) - 1; i < j; i++, j--)
        if (text[i] != text[j])
            return 0;
    return 1;
}
int palindromP(char * text) {
    char temp[250];
    strcpy(temp, text);
    for (int i = 0; temp[i]; )
        if (temp[i] == ' ') {
            char cartemp[250];
            strcpy(cartemp , temp + i + 1);
            strcpy(temp + i, cartemp);
        } else i++;
    return palindrom(temp);
}
int main() {
    int n;
    char textinput[250];
    in >> n;  in.get();
    for (; n ; --n) {
        in.getline(textinput,250);
        out << palindromP(textinput) << endl;
    }
    return 0;
}
```

## Resurse

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