aide programme C factoriel !!
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

aide programme C factoriel !!



  1. #1
    invite4cd74d23

    Post aide programme C factoriel !!


    ------

    Salut à tt le monde
    bn, j'ai tapé ce programme sur Dev C++ et tt vas bien, mé quand je démarre le programme, il ne foncionne pas voici le
    Code:
    #include <stdio.h>
    #include<stdlib.h>
    int main ()
    
    {
        float nombre, fact;
        int i;
    printf("donner un nombre\n");
    scanf("%f",&nombre);
    
    for(i=1; i<nombre;i++)
    {
       fact= nombre*(nombre-i);
    }
       printf("Le factoriel est %f\n",fact);
    
    }
    Merci de vérifier avec moi

    -----
    Dernière modification par JPL ; 14/05/2012 à 19h30. Motif: Ajout de la balise Code pour la lisibilité

  2. #2
    danyvio

    Re : aide programme C factoriel !!

    C'est très vilain d'utiliser et modifier une variable dans une boucle (nombre) qui est aussi la borne de la boucle.

    Au 1er tour, si nombre vaut 5, il prend dans la boucle la valeur 5*(5-1)=20
    et c'est partie pour 20 tours

    Alors nombre prend la valeur 20*(20-1)=380 etc.
    Conseil : une variable pour le nombre dont on cherche la factorielle, et une variable pour la factorielle elle-même
    On trouve des chercheurs qui cherchent ; on cherche des chercheurs qui trouvent !

  3. #3
    Jack
    Modérateur

    Re : aide programme C factoriel !!

    C'est très vilain d'utiliser et modifier une variable dans une boucle (nombre) qui est aussi la borne de la boucle.
    ??? Je ne vois pas à quel moment nombre est modifié dans la boucle.

    Je vois 2 grosses erreurs pour ma part:
    1) fact n'est pas initialisée
    2) la formule fact= nombre*(nombre-i); est fausse. Réfléchis un peu: on voit bien que fact ne dépendra que du calcul lors du dernier tour de la boucle alors que l'algorihme de calcul de factorielle doit normalement calculer la nouvelle valeur à chaque tour à partie de la valeur précédemment calculée. Il devrait donc voir fact également dans l'expression à droite du signe =.

    Dernière chose, prendre des float pour un calcul de factorielle n'est pas très heureux comme choix.

    A+
    Dernière modification par Jack ; 14/05/2012 à 18h45.

  4. #4
    danyvio

    Re : aide programme C factoriel !!

    Citation Envoyé par Jack Voir le message
    ??? Je ne vois pas à quel moment nombre est modifié dans la boucle.



    A+
    Yes Lu trop vite
    On trouve des chercheurs qui cherchent ; on cherche des chercheurs qui trouvent !

  5. A voir en vidéo sur Futura

Discussions similaires

  1. aide programme language C
    Par invitea29d3daa dans le forum Électronique
    Réponses: 4
    Dernier message: 07/05/2012, 08h36
  2. Aide programme matlab
    Par invite320d6e59 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 06/04/2012, 13h41
  3. Aide Programme Gps
    Par invitef97198f3 dans le forum Électronique
    Réponses: 4
    Dernier message: 01/05/2010, 16h43
  4. aide programme pascal
    Par invite3d733769 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 24/03/2010, 23h45
  5. aide programme
    Par coeur noire dans le forum Électronique
    Réponses: 6
    Dernier message: 18/03/2010, 00h15