Salve ragazzi sono nuovo del forum, volevo chiedere aiuto su un problema relativo al c++. Sono al primo anno di ingegneria, sto studiando le funzioni ricorsive e il professore per esercizio ha dato da scrivere una funzione che faccia uso della ricorsione per calcolare il fattoriale di un numero.
Io ho scritto:
unsigned int factorial(int n)
{
if(n==0) return 1;
int fattoriale_piu_piccolo=factorial(n-1);
int risultato=fattoriale_piu'_piccolo*n;
return risultato;
}
Il problema è che poi andando nella main e scrivendo:
int main()
{
int b:
cin>>b;
factorial(b);
return 0;
}
La funzione non mi ritorna assolutamente niente, solo il temo di esecuzione. In piu' se provo a scrivere, per controllare, cout<<risultato;
mi escono dei numeri assurdi del tipo 847358457848734 quando il numero immesso nel cin è un 3 o 4 di cui la funzione dovrebbe calcolare il banalissimo fattoriale.
Vi ringrazio in anticipo per le risposte