Vector de frecvență

  Vectorul de frecvență se folosește pentru a determina „frecvența” apariției unor anumite valori. Este asemănător vectorului caracteristic, doar că în loc să memorăm apariția, vom memora frecvența apariției.

Exemplu

  Se citesc n numere naturale de maximum 9 cifre. Să se afișeze cel mai mare număr care se poate forma cu cifrele numerelor citite.

#include <iostream>
using namespace std;
int n, f[10];
int main(){
  int i,j,x;
  cin>>n;
  for(i=1; i<=n; i++){
    cin>>x;
    do{
      f[x%10]++;
      x/=10;
    }while(x);
  }
  for(i=9; i>=0; i--)
    for(j=1; j<=f[i]; j++)
      cout<<i;
  return 0;
}
6
791 90 61 303 54 755
99775554331100
8
77 68 94 56 14 0 15 9 
99877665544110

  Vom declara vectorul de frecvență f cu 10 spații disponibile pentru fiecare cifră. Citind numerele, vom incrementa pentru fiecare cifră a lor poziția corespunzătoare în vectorul de frecvență.
  La sfârșitul citirii, în vectorul nostru vom avea numărul de apariții al fiecărei cifre. Nu ne mai rămâne decât să afișăm descrescător fiecare cifră în funcție de câte apariții are indicate în vector.