Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de moyenne dans un tableau

Sujet résolu
    22 mars 2018 à 11:19:50

    Bonjour à toutes et à tous !

    Voilà je suis dans le deuxième quart du cours sur la programmation en C et je viens d'attaquer la partie concernant les tableaux. Jusque là ça allait mais je me heurte à un soucis concernant la moyenne de mon tableau :

    #include <stdlib.h>
    #include <stdio.h>
    
    int sommeTableau(int tableau[], int tailleTableau);
    double moyenneTableau(int sommeTableau, int tailleTableau);
    
    int main(int argc, const char * argv[])
    {
        double M = 0.0; int S = 0;
        int tableau[10] = {1,2,3,4,5,6,7,8,9,10};
        S = sommeTableau(tableau, 10);
        M = moyenneTableau(S, 10);
        printf("La somme des cases du tableau est %d\n", S);
        printf("La moyenne du tableau est %lf\n", M);
        return 0;
    }
    int sommeTableau(int tableau[], int tailleTableau)
    {
        int i = 0 ; int somme = 0 ;
        for (i = 0 ; i < tailleTableau ; i++)
        {
            printf("%d\n", tableau[i]);
            somme = somme + tableau[i];
        }
        return somme;
    }
    double moyenneTableau(int sommeTableau, int tailleTableau)
    {
        int i = tailleTableau; double moyenne = 0.0; int S = sommeTableau;
        moyenne = S / i;
        return moyenne;
    }

    En procédant ainsi, j'arrive à afficher les valeurs de chaque case du tableau, la somme des cases et même une moyenne (wouhou champagne !), seulement la moyenne est fausse... (rangez moi ces flûtes !). Et après maints bidouillages je n'arrive pas à afficher la bonne valeur. Quelqu'un pourrait il m'éclairer sur mon/mes erreur(s) s'il vous plaît ?

    EDIT : C'est bon j'ai compris mon erreur : dans la fonction double moyenneTableau, les données de taille et de somme du tableau étaient des int, je les ai passé en double afin qu'elle soient pris en compte comme des décimaux et non des entiers, et miracle : la fonction me retourne la bonne moyenne !  Désolé du dérangement !

    -
    Edité par MemphisBell 22 mars 2018 à 12:10:42

    • Partager sur Facebook
    • Partager sur Twitter
      22 mars 2018 à 12:15:46

      Salut,

      Utilise le format %f dans printf() pout afficher un double

      Aussi, dans ta fonction moyenneTableau(), un entier divisé par un entier donnera un entier ...

      • Partager sur Facebook
      • Partager sur Twitter

      Problème de moyenne dans un tableau

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown