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 :

Codage C++ de Factoriel d'un nombre entier


Sujet :

C++

  1. #21
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Par défaut
    Merci pour vos aide je vais regarder de plus près tou ce ke vous m'avais mis

    encore merci

    Cordialement

    Arnaud

  2. #22
    screetch
    Invité(e)
    Par défaut
    ah j'ai trouvé pourquoi ca donne un assembly douteux! koala tu as une petite faute dans ton programme dans la version recursive, il faut soit que tu rajoutes return nb*fac(n-1) ou bien nb *= fac(n-1) car sinon tu as une instruction qui ne fait rien au milieu

  3. #23
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Citation Envoyé par screetch Voir le message
    ah j'ai trouvé pourquoi ca donne un assembly douteux! koala tu as une petite faute dans ton programme dans la version recursive, il faut soit que tu rajoutes return nb*fac(n-1) ou bien nb *= fac(n-1) car sinon tu as une instruction qui ne fait rien au milieu
    Une erreur de copie... Corrigée
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  4. #24
    screetch
    Invité(e)
    Par défaut
    mais c'est quoi du coup l'assembleur correspondant ?


    quoi qu'il en soit je vois que visual C++ ne genere pas des fonctions iteratives sur ces exemples :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    int factorielle_recursive1(int value)
    {
    10001000  push        esi  
    	if(value > 1)
    10001001  mov         esi,dword ptr [esp+8] 
    10001005  cmp         esi,1 
    10001008  jle         factorielle_recursive1+1Bh (1000101Bh) 
    		value *= factorielle_recursive1(value-1);
    1000100A  lea         eax,[esi-1] 
    1000100D  push        eax  
    1000100E  call        factorielle_recursive1 (10001000h) 
    10001013  add         esp,4 
    10001016  imul        eax,esi 
    10001019  pop         esi  
    }
    1000101A  ret

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. script samba qui calcule le factoriel d'un nombre entier
    Par miryam22 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 30/05/2008, 11h00
  2. Inverser nombre entier de 4 chiffres
    Par zenattitude dans le forum Langage
    Réponses: 3
    Dernier message: 27/11/2005, 16h18
  3. Format des nombres entiers, séparateurs de milliers
    Par zazaraignée dans le forum Langage
    Réponses: 2
    Dernier message: 26/10/2005, 02h25
  4. nombre entier
    Par eleve36 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/10/2005, 17h25
  5. [LG]Former un nombre entier à partir de chiffre naturel.
    Par lecanardjaune dans le forum Langage
    Réponses: 2
    Dernier message: 12/11/2003, 23h36

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