Biletul 17 Atestat Informatica Programare

Biletul nr. 17 pentru atestat informatica la programare 2015

Codul sursa al problemei in C++ de mai jos construieste un nou vector pe baza numarul de aparatii ale elementelor dintr-un alt vector iar rezultatul este scris intr-un fisier date.out.

Enuntul problemei:

17. Fie v un vector de numere intregi. Sa se construiasca un vector w, astfel incat w[i]=numarul de aparitii ale lui v[i] in vectorul v. Sa se afiseze cei doi vectori, fiecare pe o linie.
Ex: pentru v=(1,5,2,1,5,7,2,1,5) se obtine w=(3,3,2,3,3,1,2,3,3)

Rezolvarea problemei

# include <iostream.h>
# include "functii.txt"
int apare(int x[],int n,int k)
{
int ap=0;
for(int i=1;i<=n;i++)
if(x[i]= =k)
ap++;
return ap;
}
void main()
{
int x[30],n,ap[30],i;
citeste(x,n);
for(i=1;i<=n;i++)
ap[i]=apare(x,n,x[i]);
cout<<"sirul dat: ";
scrie(x,n);
cout<<endl;
cout<<"Sirul aparitiilor: ";
scrie(ap,n);
cout<<endl;
}

Scris de AtestateLaInformatica.ro

0