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;
}