
Originariamente inviata da
LeleFT
Una possibile soluzione consiste nell'ordinare in ordine alfabetico il vettore dei comuni, quindi scorrerlo e contare quante occorrenze vi sono di ciascun comune (l'ordinamento preventivo ti consente di fare il conteggio con una sola passata del vettore).
Algoritmicamente parlando:
Dopo aver ordinato l'array, inizio a scorrerlo dalla prima posizione e inizializzo un contatore a 1.
Memorizzo il valore del primo elemento in una variabile (diciamo "comune").
Scorro il vettore e finchè l'i-esimo elemento è uguale al valore della variabile "comune" incremento il contatore.
Appena trovo un elemento diverso, stampo (o memorizzo in una seconda struttura dati) il valore del contatore (che a questo punto mi dirà quanti residenti vi sono in quel comune), memorizzo il nuovo valore trovato nella variabile "comune", resetto il contatore a 1 e riparto.
Ciao.
