Personalmente me lo immagino così, al volo ora come mi viene pensato, non so neanche se va, scritto ora in 3 minuti.
La chiamata ricorsiva è:codice:public int TrovaMax(int indice, int max) { if (indice>array.lenght()) return array[indice_el_piu_freq]; else { tot=0; for (int i=0; i<array.lenght()) { if (array[indice]==array[i]) { tot++; indice_el_piu_freq==indice; } } if (tot>max) { TrovaMax(indice+1, tot); } else { TrovaMax(indice+1, max) } } }
int elem_piu_freq = trovaMax(0, -1);
'indice_el_piu_freq' e 'tot' sono le uniche due variabili diciamo globali che vengono modificate, o sennò te le puoi portare dietro con la ricorsione senza farle globali, vedi te.

Rispondi quotando