Ciao a tutti,
devo fare un progetto per l'università, l'ho quasi finito ma mi manca solo una cosa ed è ormai giorni che ci provo senza risultati quindi ho ben pensato di chiedere a voi, sperando che ci sia qualcuno a perdere 10 minuti dietro il mio programma!!!
la traccia è questa, una copia sta anche nel codice:
Corso Universitario
Consideriamo un corso composto da 10 studenti. Ogni studente e identificato da
un cognome, nome, matricola, data di nascita, luogo di nascita e indirizzo di
residenza (strada/piazza, C.A.P. e numero civico ).
Il corso dura in totale 20 giorni e le presenze vengono prese giornalmente.
Scrivere un algoritmo che permette di gestire le presenze degli studenti.
Inoltre l'utente puo scegliere di effettuare le seguenti operazioni
. Dato un nome e un cognome stampare i dati e le assenze totali dello studente.
. Stampare il nome e il cognome dello studente che ha fatto piu assenze (per il
calcolo del massimo usare la programmazione ricorsiva con algoritmo divide
et impera)
Quello sottolineato è ciò che non riesco a fare, sono riuscito soltanto a stampare l'assenza massima trovata tra tutti gli studenti, ma non riesco a capire come stampare a chi appartengono!
Qui vi lascio il link per scaricare o copiare il file che contiene il programma
Il codice contiene un sacco di commenti per facilitarvi la comprensione
Programma Corso Universitario
vi lascio l'algoritmo divide et impera del massimo
codice:
int massimo_a_ricDI(int a[],int n)
{
int mediano;
/* soluzione del caso base */
if(n == 1)
return a[0];
else
{
/* autoattivazioni*/
mediano = (n-1)/2;
return max_I(massimo_a_ricDI(a,mediano+1), massimo_a_ricDI(a+mediano+1,n-mediano-1));
}
}
int max_I(int x, int y)
{
if(x > y)
return x;
else
return y;
}