👤

Se citesc de la tastatură elementele unui tablou unidimensional. Să se afişeze, în ordine crescătoare, valorile introduse şi numărul lor de aparitii.

#include
#include

int main()
{
int a[100],n,i,j,aux;
scanf("%d",&n);
for(i=1; i<=n; i++)
scanf("a[%d]",i);

for(i=1; i for(j=i+1; j<=n; j++)
if(a[i]>a[j])
{
aux= a[i];
a[i]= a[j];
a[j]=aux;
}

for(i=1; i printf("a[%d] ",i);
return 0;
}
Am facut prima parte si vreau sa stiu daca e buna ca scriere in C. As dori partea din problema cu vectorul de frecventa. In C daca se poate, dar e binevenit si C++.


Răspuns :

Răspuns:

cout<<"Numar de elemente: ";

 int n; cin>>n;

 int a[n];

   for(int c=0; c<n; c++)

       cin>>a[c];

       int i,temp;

     for(int i=0; i<n; i++){

       if(a[i]>a[i+1]){

         temp=a[i+1];

         a[i+1]=a[i];

         a[i]=temp;

       }

     }

     cout<<"Vectorul sortat: ";

     for(int v=0; v<n; v++)

       cout<<a[v]<<" ";

cout<<"\n";

       int times,nr;

       for(int d=0; d<n; d++){

         times=0;

         for(int s=0; s<n; s++){

           nr=a[s];

           if(a[d]==nr){

             times++;

           }

         }

         cout<<a[d]<<":"<<times;

         cout<<endl;

       }

Eu momentan nu am lucrat cu vectori de frecventa(nici nu sunt la liceu ca sa fac info). Am rezolvat problema cum stiu eu. Sper ca te va ajuta solutia(macar putin) :D

Explicație: