
Biletul nr. 11 pentru atestat informatica la programare 2015
Mai jos este prezentat codul sursa al aplicatiei in C++, cod care afiseaza cate numere dintr-un vector sunt numere Fibonacci, rezultatul va fi scris intr-un fisier.
Enuntul problemei:
11. Fişierul date.in conţine pe prima sa linie un număr natural n (1 ≤ n ≤ 100), iar pe următoarea linie, separate prin spaţii, cele n elemente ale unui vector de numere naturale. Să se determine câte din elementele vectorului dat sunt numere Fibonacci. Rezultatul obţinut va fi scris în fişierul date.out.
Rezolvarea problemei
# include <iostream.h>
# include <fstream.h>
int fibo(int x)
{
int tv=1,tn=1,ok=0;
while(tn<x)
{
tn=tv+tn;
tv=tn-tv;
}
if(tn==x)
return 1;
else
return 0;
}
int main()
{ fstream fin("date.in",ios::in),fout("date.out",ios::out);
int x[30],n,cate=0;
fin>>n;
for(int i=1;i<=n;i++)
{ fin>>x[i];
if(fibo(x[i]))
cate++;
}
fout<<cate;
fin.close();
fout.close();
system("pause");
}
Scris de