Ciao simone1988, mi sa che ti conosco(oh! ti sei deciso a postare un po' di codice!)
Nonostante questo, ancora non so come è fatto il programma... quell'array di struct è globale? Innanzitutto se è così dichiaralo locale al main perché tu-sai-chi non lo accetterà MAI (e fa pure bene). Poi, a questo punto, alla funzione di ricerca del massimo devi passare proprio quell'array di struct col suo size, dopo di ché devi modificare la funzione di selezione del massimo:
all'inizio ti confronta due interi, quindi è
deve diventare (è un po' rozza così, l'ideale sarebbe lavorare con i puntatori)codice:int max_I(int a,int b) { if (a > b) return a; else return b; }
è chiaro quello che fa, no?codice:stud max_I(stud a, stud b) { if (a.assenze[0] > b.assenze[0]) return a; else return b; }
Per quanto riguarda la funzione di ricerca del massimo
in pratica devi adattare tutto al tuo tipo che non è più int ma "stud"...codice:stud massimo_a_ricDI(stud 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)); } }
Se hai ancora problemi, posta tutto il codice altrimenti continuerai ad andare in giro per il web senza avere risposta x°D

(oh! ti sei deciso a postare un po' di codice!)
Rispondi quotando