|
Originariamente inviata da lookdown80
|
Ah, belli i tempi dell'università... mi dispiace, l'unico esame di ingegneria che ho dato è stato quello di chimica.
Comunque la sequenza logica è questa, ti crei una matrice con massimo 100 voci, poi per ogni nome ti chiedi: è già in lista?
1) sì, sommo al totale precedente
2) no, creo una nuova voce dell'array
e scorri la lista, poi basta che ordini per il campo voti... in bocca al lupo.
Marco
|
Esatto!
Dando per scontato che sai aprire il file,usare i boleani e usare le formattazioni, procedi:
- definendo due vettori uno char e uno integer (ai quali a pari indice corrisponde rispettivamente cognome e totale voti);
- una variabile char Cognome e una integer Voto;
- con un ciclo di 100 iterazioni leggi i dati dal file riga per riga memorizzando il dato in Cognome e Voto;
- all'interno dello stesso ciclo ne crei un'altro che confronta i valori letti con quelli del vettore (cioè un'altro ciclo annidato di 100 iterazioni): se il cognome non esiste lo crea e associa il voto letto nel file, se il cognome è già presente nella lista, somma il voto letto al totale contenuto nel rispettivo vettore dei voti!);
-con un'ultimo cliclo di 100 iterazioni, sfogli il vettore dei voti alla ricerca del valore max, ottenendo l'indice "i" e fai restituire alla funzione l'elemento iesimo del vettore cognome e del vettore voti.
la spiegazione è un pò incasinata, ma non è molto difficile.
