Partage
  • Partager sur Facebook
  • Partager sur Twitter

valeur de la variable toujours egale a 0

Sujet résolu
    20 mai 2019 à 19:56:36

    Je ne comprend pas pourquoi quand j'execute ce programme il me donne toujours 0. il est sensé me faire la moyenne de toutes les cases du tableau mais ca ne marche pas. help !

    #include <stdio.h>
    #include <stdlib.h>
    
    double moyenneTableau(int tableau[], int tailleTableau);
    
    int main(int argc, char *argv[])
    {
        int tableau[4] = {10, 15, 2};
        double moyenne;
    
        moyenne = moyenneTableau(tableau, 4);
        printf("%d\n", moyenne);
    
        return 0;
    }
    
    double moyenneTableau(int tableau[], int tailleTableau)
    {
        int i;
        int resultat = 0;
        double moyenne = 0;
    
        for (i = 0 ; i < tailleTableau ; i++)
        {
            resultat = resultat + tableau[i];
        }
        moyenne = resultat / 4;
        return moyenne;
    }
    

    -
    Edité par QuentinOubraham 20 mai 2019 à 19:58:10

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      20 mai 2019 à 21:22:25

      Salut,

      C'est simple. Dans ton printf tu as mis "%d", mais il faut mettre "%f" pour afficher un double. Moi aussi il m'est arrivé de faire cette erreur et de pas trouver ce qui cloche :p

      • Partager sur Facebook
      • Partager sur Twitter
        20 mai 2019 à 23:25:50

        Hello,

        En plus de ce qu'écrit Scover, le résultat ne sera pas toujours celui attendu, à cause de la ligne 27. La variable resultat et et le nombre 4 sont deux nombres entiers, c'est donc une division entière qui est faite, et c'est seulement après la division que le résultat sera converti en double pour être assigné à moyenne. Dans ton cas, 27/4 donne 6, qui sera ensuite converti en double.

        Solution (en repectant les consignes de l'exercice): faire un cast sur un des deux (ou sur les deux) opérandes de la division.

        Au fait, tu vas réécrire ta fonction si tu as un tableau qui a plus ou moins d'éléments que quatre ? Tu dois utiliser tailleTableau.

        -
        Edité par edgarjacobs 20 mai 2019 à 23:27:05

        • Partager sur Facebook
        • Partager sur Twitter

        On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

          22 mai 2019 à 11:46:04

          merci de vos réponses, ça marche maintenant !
          • Partager sur Facebook
          • Partager sur Twitter

          valeur de la variable toujours egale a 0

          × 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