PDA

Visualizza la versione completa : c funzione ricorsiva


roberto81
23-02-2008, 13:11
buongiorno sto scrivendo un programmino per l'esame di programmazione e non riesco a venirne fuori mi potete aiutare......!
il testo :
sia data la seguente funzione f(1)=1 f(2)=3 f(n)=2*f(n-1)-f(n-2
Scrivere una funzione ricorsiva che prende in input un valore intero postitivo x e restituisce il valore f(x).

il codice da me scritto e cosi:


#include <stdio.h>
#include <stdlib.h>
int funricorsiva(int n);
int main()
{
int num;
printf("inserisci un numero positivo intero:");
scanf("%d",&num);
printf("il risultato della funzione e': %d",funricorsiva(num));
system("pause");
return 0;
}
int funricorsiva(int n)
{
if(n==0||n==1)
{
return n;
}else{
return (2*(funricorsiva(n-1)-funricorsiva(n-2));
}
}

MacApp
23-02-2008, 13:58
Originariamente inviato da roberto81
buongiorno sto scrivendo un programmino per l'esame di programmazione e non riesco a venirne fuori mi potete aiutare......!
Qual il problema?

Non riesci a compilare?
Riesci a compilare ma ti va in crash il programma?
Ti va in crash solo per alcuni valori inseriti dall'utente?
Non ti va in crash ma produce valori scorretti?
Se ti produce valori scorretti, quali sono, e quali dovrebbere essere quelli corretti?

king64
23-02-2008, 16:47
Ad occhio manca una parentesi all'ultimo return :


return (2*(funricorsiva(n-1)-funricorsiva(n-2)));
:ciauz:

Loading