Salve a tutti, vorrei un parere sul seguente esercizio:
ES: (Trovare il valore minimo in un vettore) Scrivete una funzione ricorsiva minimo_ricorsivo che riceva come argomenti un vettore di interi e la sua dimensione e restituisca l'elemento più piccolo del vettore. La funzione dovrà terminare la propria elaborazione e restituire il controllo a quella chiamante, quando avrà ricevuto un vettore che contenga un solo elemento.
Io l'ho svolto così:
#include <stdio.h>
#define DIM 10
int minimo_ricorsivo(int vett[], int i);
int main()
{
int vettore[DIM] = {7, 1, 10, 2, 15, 4, 9, 20, 13, 6};
printf("\nil minimo del vettore e' : %d\n\n", minimo_ricorsivo(vettore, DIM));
return 0;
}
int minimo_ricorsivo(int vett[], int i)
{
if(i == 0)
return vett[i];
if(vett[i - 1] < vett[i - 2])
{
vett[i - 2] = vett[i - 1];
}
return minimo_ricorsivo(vett, i - 1);
}
Il codice dovrebbe essere corretto e funziona, avete qualche consiglio per migliorarlo o va bene così?
Grazie