Rezolvare completă PbInfo #2375 PalindromSD

Cerința

Fișierul palindromsd.in conține cel mult 1000 de numere naturale, câte un număr pe fiecare linie. Să se afișeze numerele palindrom din fișier în ordinea primul, ultimul, al doilea, penultimul etc.

Date de intrare

Fișierul de intrare palindromsd.in conține câte un număr pe fiecare linie.

Date de ieșire

Fișierul de ieșire palindromsd.out va conține pe prima linie numerele palindrom in ordinea cerută.

Restricții și precizări

  • 1 ≤ numărul de numere din fișier ≤ 1000
  • numerele din fișierul de intrare vor fi mai mici decât 1.000.000.000
  • în cazul în care nu există niciun număr palindrom, în fișierul de ieșire se va scrie -1

Exemplu

palindromsd.in

11 
21 
303 
4114 
51 
66 
75
808

palindromsd.out

11 808 303 66 4114   

Explicație

Numerele palindrom sunt 11, 303, 4114, 66, 808.

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema PalindromSD:

#include<fstream>

using namespace std;
ifstream fin("palindromsd.in");
ofstream fout("palindromsd.out");

int v[1001];
int main()
{
    int n=0, og, aux, x, st, dr, i;
    while(fin>>x)
    {
        aux=x;
        og=0;
        while(aux!=0)
        {
            og=og*10+aux%10;
            aux/=10;
        }
        if(x==og)
        {
            v[++n]=x;
        }
    }
    if(n==0)
    {
        fout<<-1;
    }
    st=1;
    dr=n;
    for(i=1; i<=n; i++)
    {
        if(i%2!=0)
        {
            fout<<v[st++]<<" ";
        }
        else
        {
            fout<<v[dr--]<<" ";
        }
    }
    fin.close();
    fout.close();

    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #2375 PalindromSD

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2375 PalindromSD de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!