Implementazione della funzione ricorsiva

Implementare una funzione C++ ricorsiva che riceva come parametro un array di interi vett, due indici inf e sup (con inf

prodotto degli elementi di vett[inf...sup]

diversi da 0.

Esempio:

vett: 9, 7, 3, 0, 3, 6, 9, 8

inf: 2

sup: 5

Risultato: 36 (=3*3*6)
int prodottoNonNullilli(const int vett[], int inf, int sup);

int main()

{

int vett[]={9,7,0,0,0,0,0,8};

int inf=2;

int sup=5;

printf("%d\n",prodottoNonNulli(vett,inf,sup));

getchar();

}

int prodottoNonNulli(const int vett[], int inf, int sup)

{

if(inf > sup)

return 1;

else if(vett[inf] != 0)

return vett[inf]*prodottoNonNulli(vett,inf+1,sup);

else

return prodottoNonNulli(vett,inf+1,sup);

}

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community