|
minimo con ricorsione [C]
con la seguente funzione trovo il minimo e il suo indice di un array passato da un main
int calcolominimo (int a[n],int primo,int ultimo) {
int mediano, index, index2;
if (ultimo == primo)
return primo;
else
{mediano = (ultimo + primo)/2;
if (a[index = calcolominimo(a, primo, mediano)] < a[index2 = calcolominimo(a, mediano+1, ultimo)])
return index;
else
return index2;}
}
la tecnica ricorsiva è usata sotto richiesta ben precisa.
Il mio problema è che nell'array passato dal main non è detto che non siano generati due numeri uguali e quindi in questo caso il minimo avrebbe due indici e non uno solo...
come fare?
non posso far si che nel main si generino tutti valori diversi perchè la richiesta non è questa.
grazie a chiunque mi possa aiutare
|