Î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:
#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: