C
computer7
Ospite
Salve mi è stato posto questo problema da programmare in C:
"crea un programma scritto in c con una funzione chiamata FattInAction (che calcola il fattoriale di un numero)in modo da visualizzare le sue variabili locali e i parametri delle chiamate ricorsive.
Inoltre per ogni chiamata ricorsiva visualizza gli output su una riga separata e aggiungi un livello di rientro.
Fare in modo che l'output sia chiaro. Deve essere comprensibile anche a chi non ha mai sentito la parola ricorsione"
Premesso che non ho capito molto bene la richiesta,ho provato ha scrivere il codice quindi ve lo posto(sia il main.c che la funzione chiamata fatt.c)
Se qualcuno è in grado di aiutarmi lo ringrazio! e se c'è qualcosa di sbagliato perfavore fatemi capire!:inchino:
MAIN
/*main.c visualizza il fattoriale dei numeri da 0 a 10*/
#include <stdio.h>
#include <stdlib.h>
long int fatt(int num);
int main(void){
int i;
printf("Inserisci un numero ");
scanf("%d",&i);
fatt(i);
system("PAUSE");
return 0;}
FUNZIONE
/*fatt.c= la funzione calcola ricorsivamente e restituisce il valore del fattoriale
INPUT: num
OUTPUT: il valore di num! */
long int fatt(long int num){
int cont;
if(num<=1){
printf(" 1\n");
return 1; }
else{//passo ricorsivo
for(cont=0;cont<=num;cont++){
printf(" ");}
printf("%3d * fatt(%d-1)\n",num,num);
return (num*fatt(num-1)); }}
"crea un programma scritto in c con una funzione chiamata FattInAction (che calcola il fattoriale di un numero)in modo da visualizzare le sue variabili locali e i parametri delle chiamate ricorsive.
Inoltre per ogni chiamata ricorsiva visualizza gli output su una riga separata e aggiungi un livello di rientro.
Fare in modo che l'output sia chiaro. Deve essere comprensibile anche a chi non ha mai sentito la parola ricorsione"
Premesso che non ho capito molto bene la richiesta,ho provato ha scrivere il codice quindi ve lo posto(sia il main.c che la funzione chiamata fatt.c)
Se qualcuno è in grado di aiutarmi lo ringrazio! e se c'è qualcosa di sbagliato perfavore fatemi capire!:inchino:
MAIN
/*main.c visualizza il fattoriale dei numeri da 0 a 10*/
#include <stdio.h>
#include <stdlib.h>
long int fatt(int num);
int main(void){
int i;
printf("Inserisci un numero ");
scanf("%d",&i);
fatt(i);
system("PAUSE");
return 0;}
FUNZIONE
/*fatt.c= la funzione calcola ricorsivamente e restituisce il valore del fattoriale
INPUT: num
OUTPUT: il valore di num! */
long int fatt(long int num){
int cont;
if(num<=1){
printf(" 1\n");
return 1; }
else{//passo ricorsivo
for(cont=0;cont<=num;cont++){
printf(" ");}
printf("%3d * fatt(%d-1)\n",num,num);
return (num*fatt(num-1)); }}
Ultima modifica da un moderatore: