Direi che il tuo algoritmo ha perso qualche pezzo.
L'idea generale sembra essere questo:
Data un set di candidati, l'urna, per ogni voto, assegna il voto al candidato corrispondente.
I voti li crea urna. E' un po' strano ma tutto è possibile.
Dunque hai l'insieme dei candidati, lo passi all'urna, l'urna per ogni voto che crea determina a quale dei candidati nel set corrisponda e a quel punto incrementa il valore del campo nvoti di quel candidato.
Non incollo codice perchè mi sa tanto di esercizio scolastico e non è bello.
Ps.: non è bello dare la soluzione, esercizio, scuola, domande e dubbi sono tutti bellissimi

: