Tablouri unidimensionale - Vectori



Problemă rezolvată


Se citesc de la tastatură mai multe numere naturale întregi, formate din cel mult patru cifre, până la întâlnirea valorii 0. Să se afişeze numerele citite în ordine crescătoare şi numărul de apariţii al acestora. Exemplu: dacă se citesc numerele 3 456 56 34 3 456 54 6 0, se afişează:
3 2
6 1
34 1
54 1
56 1
456 2.

#include<iostream>
using namespace std;
int main()
{
    
int fr[10000]={0},i,x;
    
/*fr este un vector caracteristic in care
    se memoreaza frecventa de aparitie a fiecarui
    numar citit*/

    
cout<<"x=";cin>>x;
    
while(x)
    
{
        
fr[x]=fr[x]+1;
        
cout<<"x=";cin>>x;
    
}
    
/*se parcurge vectorul caracteristic
    si se afiseaza elementele care au fost
    citite cel putin odata precum si frecventa
    acestora*/

    
for(i=0;i<10000;i++)
        
if(fr[i]!=0)
            
cout<<i<<" "<<fr[i]<<endl;
}