Stai usando un browser non aggiornato. Potresti non visualizzare correttamente questo o altri siti web. Dovreste aggiornare o usare un browser alternativo.
gente stavo studiando pensare in c++ e sono arrivato alla ricorsione non ho capito niente xDDDDD me la spiegate e magari mi fate anche un esempio? (Diverso da quello della guida)
grazie gente *-*
Non so se sia lo stesso esempio della tua guida.. cmq è davvero semplice!
Praticamente la funzione utilizza se stessa.. http://it.wikipedia.org/wiki/Fattoriale
tipo il fattoriale di 5 è 1*2*3*4*5 = 120..
Codice:
int Fattoriale(DWORD n)
{
if(n == 1){
return 1;
} else {
return n * Fattoriale(n - 1);
}
}
come linea di massima sappi che qualsiasi funzione scritta in modo ricorsivo può essere riformulata anche in modo non ricorsivo, in modo da evitarsi eventuali problemi...
per esempio...
ricorsiva:
Codice:
int FattorialeR(int n) {
if (n==1) return 1;
return n*FattorialeR(n-1);
}
non ricorsiva:
Codice:
int Fattoriale(int n) {
int risultato = 1;
for (int j=2;j<=n;j++) {
risultato*=j;
}
return risultato;
}