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

În fișierul numere.in sunt memorate cel mult 1000 de numere naturale de cel mult 4 cifre

fiecare.

Scrieți un program care citește numerele din fișierul numere.txt și rezolvă următoarele

cerințe:

a) scrie pe prima linie a fișierului numere.out cel mai mare număr palindrom din

fișierul numere.in;

b) scrie pe a doua linie a fișierului numere.out, separate prin spațiu, primul și ultimul

număr palindrom din fișierul numere.in.

Răspunsuri la întrebare

Răspuns de NegrucaPantera
1

Răspuns:

#include <bits/stdc++.h>

using namespace std;

ifstream fin("numere.in");

ofstream fout("numere.out");

bool ver_pal(int a)

{

   int copie = a;

   int ogl = 0;

   while(a)

   {

       ogl=ogl*10+a%10;

       a/=10;

   }

   if(ogl == copie)

       return true;

   else

       return false;

}

int main()

{

   int n ,v[1001],i;

   fin>>n;

   int maxx=0;

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

   {

       fin>>v[i];

       if(v[i]>maxx && ver_pal(v[i])==true)

           maxx = v[i];

   }

   int pal_1;

   int pal_2;

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

       if(ver_pal(v[i])==true)

           {

             pal_1 = v[i];

             break;

           }

   for(i=n;i>=1;i--)

       if(ver_pal(v[i])==true)

           {

               pal_2 = v[i];

               break;

           }

   fout<<maxx<<"\n"<<pal_1<<" "<<pal_2;

}

Explicație:

Alte întrebări interesante