Fonction recursive
Fermé
Perkins Arindal
Messages postés
5
Date d'inscription
mardi 3 janvier 2012
Statut
Membre
Dernière intervention
14 février 2012
-
12 janv. 2012 à 17:07
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 12 janv. 2012 à 22:35
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 12 janv. 2012 à 22:35
A voir également:
- Fonction recursive
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
- Fonction trier excel - Guide
- Fonction couleur excel - Guide
2 réponses
matthoffman
Messages postés
405
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
22 janvier 2013
47
12 janv. 2012 à 17:19
12 janv. 2012 à 17:19
Bonjour,
Je ne pense pas que tu aies essayer de compiler ton code dans un premier temps:
Voici le prototype de ta fonction somme, alors comment fais tu pour faire un appel a somme avec 2 arguments.
Il faudrait donc (tu l'auras compris), bouger ton resultat temporaire (avec le b), en 2eme argument.
Comme ca au fur et a mesure de tes appels tu auras un resultat temporaire, que tu renverras quand n == 1
Enfin, que je crois que quelqu'un t'avais deja repondu en te donnant la solution, dans ton ancien post.
Je ne pense pas que tu aies essayer de compiler ton code dans un premier temps:
float somme(int n)
Voici le prototype de ta fonction somme, alors comment fais tu pour faire un appel a somme avec 2 arguments.
Il faudrait donc (tu l'auras compris), bouger ton resultat temporaire (avec le b), en 2eme argument.
Comme ca au fur et a mesure de tes appels tu auras un resultat temporaire, que tu renverras quand n == 1
Enfin, que je crois que quelqu'un t'avais deja repondu en te donnant la solution, dans ton ancien post.
ccm81
Messages postés
10853
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 avril 2024
2 404
12 janv. 2012 à 17:21
12 janv. 2012 à 17:21
bonjour
je ne connais pas le C mais quelque chose comme ça devrait aller
if(n==1){
return 1
}
else{
return 1/n+somme(n--)
}
bonne suite
je ne connais pas le C mais quelque chose comme ça devrait aller
if(n==1){
return 1
}
else{
return 1/n+somme(n--)
}
bonne suite
matthoffman
Messages postés
405
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
22 janvier 2013
47
12 janv. 2012 à 17:25
12 janv. 2012 à 17:25
Sauf que la tu petes ta pile, parce que la recursion n'est pas terminale :).
Neanmoins ta version est correcte.
Neanmoins ta version est correcte.
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
12 janv. 2012 à 22:35
12 janv. 2012 à 22:35
Je ne suis pas certain que les optimisations de récursion terminale soit vraiment pris en compte en C.
En théorie oui, c'est mieux, et quand on fait de la programmation fonctionnelle ça peut avoir de l'importance, mais en C je ne suis pas certain que la pile soit vraiment libérée.
En théorie oui, c'est mieux, et quand on fait de la programmation fonctionnelle ça peut avoir de l'importance, mais en C je ne suis pas certain que la pile soit vraiment libérée.