Salve ragazzi!Vi scrivo perchè non riesco proprio a capire il funzionaento del metodo ricorsivo..ad esempio dato questo programma:
codice:
Assegnato un vettore di elementi,scrivere una funzione ricorsiva che calcoli il minimo valore tra la differenza di ogi elemento con il precedente
Io ho provato a buttare giù qualcosa del tipo:
codice:
#include<iostream>
using namespace std;
int Differenza(double *n,int indice,int risultato);
int main()
{
    double n[3]={8,4,5};
    cout << Differenza(n,2,0);
    return 0;
}
int Differenza(double *n,int indice,int risultato)
{

    if (indice == 0)
        return risultato;

    risultato = n[indice]-n[indice-1];
        if (risultato>Differenza(n,--indice,risultato))  //Quando qua decremento l'indice,...
           risultato = Differenza(n,--indice,risultato) ;//Quava decrementato ulteriormente?
}
Solo che:1)Non viene;2)Non sono molto convinto del metodo da me utilizzato.

Premetto che il calcolare le somme,i prodotti e altri calcoli iterativamente (ad es.il fattoriale) sono capace,ma quando si tratta di fare dei confronti all'interno della funzione vado in palla
Suggerimenti?