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

Un număr natural se numeşte palindrom dacă numărul citit de la stânga la
dreapta este egal cu numărul citit de la dreapta la stânga. Scrieţi un program
care citeşte de pe prima linie a fişierului text NUMERE.IN un număr natural n
(0 cifre fiecare.Programul scrie în fişierul text NUMERE.OUT numerele
palindroame de pe a doua linie a fişierului NUMERE.IN.
Exemplu: dacă fişierul NUMERE.IN conţine
6
125 66 458 64146 323 4589
atunci NUMERE.OUT va conţine numerele: 66 64146 323.

Răspunsuri la întrebare

Răspuns de IamAlexxD
3

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

int main()

{

   ifstream fin("NUMERE.IN");

   ofstream fout("NUMERE.OUT");

   int n,nr,aux,inv;

   fin>>n;

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

   {

       fin>>nr;

       aux=nr;

       inv=0;

       while(aux)

       {

           inv=inv*10+aux%10;

           aux=aux/10;

       }

       if(inv==nr) fout<<nr<<" ";

   }

   return 0;

}

Explicație:

Salut. Am folosit o metoda iterativa, in timp ce am citit din fisier numerele i-am facut inversul si am testat daca este palindrom, adica daca numarul este egal cu inversul sau. Si in caz afirmativ, l-am tiparit in fisier.

In caz ca nu intelegi ceva, te rog scrie-mi.

Alte întrebări interesante