Una delle cose furbe che puoi fare è ordinarli prima di contarli.
Esempio:
codice:
numeri <-- {5,10,34,21,9,2,2,4,5,10};
sort(numeri);
numeri = {2,2,4,5,5,9,10,10,21,34};
In questo modo puoi prendere il numero alla posizione i-esima, e verificare quante uguaglianze ha. Quandi rilevi un numero diverso, lo assegni alla variabile temporanea e continui a contare.
codice:
int occorrenze = 0;
int temp = numeri[0];
for(int i=1; i<N; i++) {
if(numeri[i] == temp) occorrenze ++;
else temp = numeri[i];
}
Questo se devi sommare i numeri che si ripetono in generale (ovvero non puoi sapere quanti 2, quanti 5, quanti 100 ci sono (e le rispettive somme), conosci solo la somma di tutto).