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:
però quando eseguo il programma restituisce numeri casuali a 10 cifre, cosa sbaglio?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; }

Rispondi quotando