HELP exercice de C

Fermé
FonGuss Messages postés 5 Date d'inscription vendredi 14 novembre 2003 Statut Membre Dernière intervention 30 mars 2004 - 14 nov. 2003 à 19:03
FonGuss Messages postés 5 Date d'inscription vendredi 14 novembre 2003 Statut Membre Dernière intervention 30 mars 2004 - 15 nov. 2003 à 12:52
J´en ai marre, ca fait une semaine et demi que je me casse la tete sur un exercice que mn prof ma proposé en cours de C . C´est pourquoi je me suis dit que j´alai demander votre aide ( il y a plus dans 50 tetes que dans une...)

Voila le probleme:

Calculer et afficher le Nième terme ( N à saisir au clavier) de la suite de FIBONACCI:
0,1,1,2,3,5,8,13,21,34,55,89......

N.B.: Fib(1)=0 ; Fib(2)=1;
et Fib(i)=Fib(i-1)+Fib(i-2) pour tout i>2

Résoudre avec
1) Boucle FOR
2) Boucle WHILE




Voila comme le probleme est posé.
J´ai bien compris l´énoncé, je vois plus ou moins ce qu´il faut faire dans ma tete, mais en C, ca se complique, 1 semaine et demi, ca commence a me courrir...

8 réponses

Salut FonGuss,

il faut que tu écrives une fonction récusive ou itérative en C pour résoudre cet exercice

bye

,mirza
0
FonGuss Messages postés 5 Date d'inscription vendredi 14 novembre 2003 Statut Membre Dernière intervention 30 mars 2004
14 nov. 2003 à 19:42
heuuu ouui..
je ne sais pas trop ce que c'est, je debute, je n'ai eu que 2mois de cours depuis septembre...
0
une fonction est un bout de code du style

int fois2(int a)
{
return a * 2;
}

toi tu dois écrire une fonction
int fib(int n) {
... A REMPLIR ...
}
0
FonGuss Messages postés 5 Date d'inscription vendredi 14 novembre 2003 Statut Membre Dernière intervention 30 mars 2004
14 nov. 2003 à 23:30
oui c'est ce que j'ai essayé de faire, mais je n'y arrive pas...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
barra neyek
0
ooooooooooooh
c'est très facile
c-a-d
trèèèèèèèèèèèèèès
dificle
0
fred Maitrise Informatique
15 nov. 2003 à 00:04
Salut, ca ne devrait pas me poser de probleme car je l'ai fait il ya trois ans en deug d'info.
NE FAIS PAS DE RECURSIVITE!!!!!!!!!!!!!!!!!
tu stoques les deux elements precedants dans des variables, c'est le plus judicieux croix moi. La recursivite c'est bien le dernier truc a faire pour ce probleme.
Le programme (pensez au declarations au debut!!je n'ai pas tt declaré!!)
int main()
{
int N;
printf("donner nombre?\n");
scanf("%d",N);
if(i>=2)
{
rang_moins_deux=0;
rang_moins_un=1;
for(i=2;i<=N;i++)
{
rang=rang_moins_deux+rang_moins_un;
printf("%d\n",rang);
rang_moins_deux=rang_moins_un;
rang_moins_un=rang;
}
return 0;
}
et c'est dans la poche!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0
FonGuss Messages postés 5 Date d'inscription vendredi 14 novembre 2003 Statut Membre Dernière intervention 30 mars 2004
15 nov. 2003 à 12:52
Merci beaucoup ca marche!
0