Ciao! Devo scrivere una funzione ricorsiva che, dato un array di interi, restituisce il massimo tra tutti i numeri ottenuti sommando due elementi consecutivi dell'array.
Questo è quello che ho scritto io:
codice:
#include <stdio.h>
int max(int *v,int dim){
if(dim==0) return 0;
if(dim==1) return (v[0]+v[1]);
else{
if(v[dim-1]+v[dim-2]>=max(v,dim-1)) return (v[dim-1]+v[dim-2]);
}
}
int main(){
int v[5]={10,5,30,2,20};
printf("%d\n",max(v,5));
return 0;
}
però quando eseguo il programma restituisce numeri casuali a 10 cifre, cosa sbaglio?