Informatică, întrebare adresată de alexnanu273, 8 ani în urmă

Să se scrie un program care citește mai multe propoziții și determină despre fiecare dacă este palindromică.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.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


boiustef: daca problema e de pe pbinfo, atunci ce numar sau nume are?
alexnanu273: #89
boiustef: alta data sa scrii asta, de altfel cineva va rezolva pentru alte date de intrare, dar este si posibilitatea de a verifica codul...

Răspunsuri la întrebare

Răspuns de boiustef
2

Răspuns:

#include <iostream>

#include <cstring>

#include <fstream>

using namespace std;

ifstream f("palindrom.in");

ofstream g("palindrom.out");

char s[202], w[200];

short n, i, j, k, m, pal;

int main()

{

   f >> n;

   f.get();

   for (i=1; i<=n; ++i)

   {

       f.getline(s, 202);

       m=strlen(s);

       k=0;

       for (j=0; j<m; j++)

           if (s[j]>='a' && s[j]<='z')

               w[k++]=s[j];

       pal=1;

       for (j=0; j<k/2; j++)

       {

            if (w[j]!=w[k-1-j]) {pal=0; break;}

       }

       if (pal) g << 1;

       else g << 0;

       g << "\n";

       w[0]='\0';

   }

   return 0;

}

Explicație:

Alte întrebări interesante