Salve, stò svolgendo questo esercizio sulla ricorsione,ma non funziona.
Qualcuno sa come risolvere?
Grazie
/*
Testo :
Sia assegnato un vettore A di interi di dimensione N.
Scrivere una funzione ricorsiva che calcoli il massimo valore
tra gli elementi di A.
*/
#include<cstdlib>
#include<iostream>
void inserimento(int[], int, int);
void controllamax(int[], int, int);
int massimo(int[], int, int, int);
using namespace std;
int main(){
int i=0, n=0, max=0;
cout<<"Inserire il numero di elementi che si desidera inserire nell'array\n";
cin>>n;
int v1[n];
inserimento(v1, n, i);
max=v1[i];
i++;
cout<<massimo(v1, n, max, i);
system("pause");
}
void inserimento(int v1[], int n, int i){
while(i<n){
cout<<"Inserire il "<<i+1<<" elemento dell'array : ";
cin>>v1[i];
i++;
}
}
void controllamax(int v1[], int max, int i){
if(v1[i]>max)
max=v1[i];
}
int massimo(int v1[], int n, int max, int i){
if(i>n)
return 0;
else{
controllamax(v1, max, i);
return massimo(v1, n, max, i+1),max;
}
}

Rispondi quotando