Biletul 12 Atestat Informatica Programare

Biletul nr. 12 pentru atestat informatica la programare 2015

Codul sursa al aplicatiei in C++ de mai jos verifica daca un vector este o multime matematica iar rezultatul este scris intr-un fisier date.out.

Enuntul problemei:

12. 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 verifice dacă vectorul dat este o mulţime (în sensul cunoscut din matematică), dacă nu, să se transforme acest vector în mod corespunzător. Elementele vectorului rezultat se vor afişa pe prima linie a fişierului date.out, separate prin spaţii.

bilet 12 atestate informatica programare

Rezolvarea problemei

# include <iostream.h>
# include <fstream.h>
void sterge(int x[],int &n,int k)
{
int i;
for(i=k;i<n;i++)
x[i]=x[i+1];
n--;
}
int apare(int x[],int y,int k,int n)
{
for(int i=k+1;i<=n;i++)
if(x[i]==y)
return 1;
return 0;
}
int main()
{fstream fin("date.in",ios::in),fout("date.out",ios::out);
int x[30],n,i,ok=1;
fin>>n;
for(i=1;i<=n;i++)
{ cout<<"x["<<i<<"]=";
fin>>x[i];}
for(i=1;i<=n;i++)
{
if(apare(x,x[i],i,n))
{
sterge(x,n,i);
i--;
}
}
for(i=1;i<=n;i++)
fout<<x[i]<<" ";
fin.close();
fout.close();
system("pause");
}

Scris de AtestateLaInformatica.ro

0