sâmbătă, 4 aprilie 2015

Biletul Nr. 5


5. Fişierul text numere.in conţine pe prima linie un număr natural n (0≤n≤5000), 
iar pe a doua linie n numere naturale de cel mult 9 cifre fiecare, separate prin câte un spaţiu. Scrieți datele din fişierul numere.in şi scrie în fişierul numere.out, valorile de pe a doua linie a fişierului numere.in care sunt palindroame și au număr par de cifre.

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("numere.in");
ofstream g("numere.out");
unsigned long v[100];
int n,i;
void citire()
{
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
}
int palindrom(unsigned long y)
{
    unsigned long og=0,aux=y;
    while(y!=0)
    {
        og=og*10+y%10;
        y=y/10;
    }
    if(og==aux)
        return 1;
    else
        return 0;
}
int nr_cifre(unsigned long y)
{
    int x=0;
    while(y!=0)
    {
        x++;
        y=y/10;
    }
    if(x%2==0)
        return 1;
    else
        return 0;
}
int main()
{
    citire();
    for(i=1;i<=n;i++)
        if(nr_cifre(v[i])&&palindrom(v[i]))
            g<<v[i]<<" ";
    f.close();
    g.close();
    return 0;
}

Niciun comentariu:

Trimiteți un comentariu