nikpez di nikpez
Ominide 738 punti

Esercizio C - Ricorsione

Implementare una funzione C++ ricorsiva che riceva come parametro un array di interi vett, due indici inf e sup (con inf
<=sup), e restituisca il 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 prodottoNonNulli(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);
}

Registrati via email