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 :

Somme et moyenne


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Somme et moyenne
    Bonjour pouvez vous m'aider, mon programme marche sauf au niveau de la somme. L'utilisateur est questionner sur le nombre d'entier a saisir, puis il rentre ces entiers un a un. Enfin le prog fait la somme puis la moyenne. Merci de votre aide. CE que j'ai déja fait:

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    #include <stdio.h> 
    #include <stdlib.h>
    #include <math.h>
     
    main()
    {
          int i,nb,tot; 
          float som,moy; 
          som=0; 
          moy=0; 
          i=0;
          nb=0;
          tot=0;
     
          printf("entrer le nombre de chiffre a additionner :");
         scanf("%d", &nb);
     
    puts ("\n\n\n");  
     
          for(i=0;i<nb;i++) 
          {
                           printf("entrer la valeur de la cellule %i du tableau : ",i+1); 
                           scanf("%i", &tot); 
                           } 
    puts ("\n\n\n"); 
     
                    som = som + tot; 
     
              printf("la somme est egale a : %g",som); 
     
    puts ("\n\n\n"); 
     
          moy = moy + (som/nb); 
    printf("la moyenne est egale a : %g",moy); 
     
          puts ("\n\n\n");           
     
    system("pause");
    return 0;
    }

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut

    La ligne "som = som + tot" devrait être dans la boucle for.

    De plus:
    • main() retourne un int. Toujours.
    • Si ta variable tot signifie "total", c'est qu'il y a quelque chose de pourri dans ton code
    • À la fin, "moy = som/nb" suffit, pas besoin d'addition...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 12
    Points : 11
    Points
    11
    Par défaut re
    Et la chose de pourri je la résou comment je suis loin de savoir programmer en C donc si on m'explique pas je suis pas encore arriver. Merci

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Typiquement, tu la résous en changeant le nom de la variable, parce que ce n'est absolument pas un total.

    Si tu crois toujours que c'est un total, revois complètement ton algorithme.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 508
    Points
    5 508
    Par défaut
    Là, c'est un total:

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    #include <stdio.h>
    #include <stdlib.h>
     
    void purge(void)
    {
        int c;
     
        while ((c = fgetc(stdin)) != '\n' && c != EOF)
        {
        }
    }
     
    int main(void)
    {
        int i = 0;
        int nb = 0;
        int tmp = 0;
        int tot = 0;
        double moy = 0.0;
        int err = 0;
     
     
        printf("entrer le nombre de chiffre a additionner :\n");
        if (scanf("%d", &nb) != 1 || nb < 0)
        {
            err = 1;
        }
        /* -tc- on nettoie les caracteres non lus par scanf() */
        purge();
     
        for (i = 0; err == 0 && i < nb;i++)
        {
            printf("entrer la valeur de la cellule %i du tableau :\n", i+1);
            if (scanf("%d", &tmp) != 1)
            {
                err = 1;
            }
            else
            {
                tot = tot + tmp;
            }
            purge();
        }
     
        if (err == 0)
        {
            printf("la somme est egale a : %d\n", tot);
     
            moy = (double) tot / nb;
            printf("la moyenne est egale a : %g\n", moy);
        }
        else
        {
            /* -tc- Une erreur de saisie est intervenue */
        }
     
        return 0;
    }

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

Discussions similaires

  1. Somme et moyenne de coûts
    Par CheezWizz dans le forum Excel
    Réponses: 9
    Dernier message: 02/10/2014, 14h21
  2. somme de moyennes
    Par camyo dans le forum Requêtes
    Réponses: 4
    Dernier message: 06/12/2012, 10h25
  3. [XL-2007] Sous_total somme et moyenne à la fois dans une meme ligne
    Par hadi2007 dans le forum Excel
    Réponses: 1
    Dernier message: 09/02/2012, 16h04
  4. Réponses: 5
    Dernier message: 27/05/2011, 11h57
  5. [2K8] Matrice et somme des moyennes
    Par skynet dans le forum SSRS
    Réponses: 1
    Dernier message: 19/03/2010, 12h18

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