IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

calcul de somme avec fonction récursif


Sujet :

C

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2015
    Messages : 52
    Points : 26
    Points
    26
    Par défaut calcul de somme avec fonction récursif
    Bonjour,
    j'essai de faire un programme qui calcule la somme
    1 + 1/(1+2) + 1/(1+2+3) ... de manière récursif mais je n'y arrive pas . si j'entre par exemple 2 alors je devais obtenir 1 + 1/3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int somme(int n1)
    {
       int res;
       if (n1 == 1)
       {
          return (1);
       } else
       {
          res = res + (1/somme(n1 - 1)); //appel récursive de la fonction somme
       }
       return (res);
    }
    quelqu'un pourrait m'aider ?
    merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par KEVIN.DLL Voir le message
    quelqu'un pourrait m'aider ? merci d'avance
    Bonjour
    Il y a un problème principal dans ton code : pour n=3, tu es sensé calculer 1/(1+2+3) + 1/(1+2) + 1/1. Or en demandant res = res + 1/somme(n1 - 1) ben tu calcules en fait 1 + 1/2 + 1/(1/3) + 1/(1/(1/4)) (ou quelque chose d'approchant). C'est la somme qui doit être récursive, pas la division (d'autant plus que faire une division dans une fonction nommée "somme" était assez mal pensé et aurait dû t'alerter).

    Plus des problèmes mineurs comme par exemple utiliser un "res" non initialisé ou faire des divisions en int que tu aurais pu éviter si tu t'étais un peu concentré au préalable et qui sont inacceptables chez quelqu'un qui se présente comme "développeur informatique".
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre averti
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Points : 387
    Points
    387
    Billets dans le blog
    3
    Par défaut
    Salut ,déjà tu n'initialise pas la variable res => résultat forcément faux ; ensuite ,ton résultat (et donc la valeur de retour de ta fonction devrait plutôt être float).

Discussions similaires

  1. [XL-2016] Calculer une somme en fonction d'un critère
    Par chou2best dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 14/01/2017, 03h02
  2. [Navision 2009 R2] Calcul de somme en fonction des N°
    Par kiloumap dans le forum Microsoft Dynamics
    Réponses: 2
    Dernier message: 20/05/2016, 14h30
  3. Calculer des dates avec fonction Gel de temps
    Par maxdata dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2012, 13h01
  4. [XL-2003] Calculer une somme en fonction du dernier inventaire
    Par peofofo dans le forum Excel
    Réponses: 2
    Dernier message: 01/02/2010, 10h41
  5. [XSLT] calcule de somme avec xsl
    Par emenemza dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 02/02/2009, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo