Partage
  • Partager sur Facebook
  • Partager sur Twitter

Variables double ou float qui en marchent pas.

Ca leur donne la valeur 0.

    8 juin 2006 à 17:22:05

    Bonjour tout le monde !
    Pour l'exercice sur les tableaux ou faut calculer la moyenne, avec une variable float moyenneValeurs par exemple, ca marche pas et même pour chose pour double.
    En fait ca lui donne la valeur 0 alors que si j'essaye avec long, ca marche.
    Voici le code :
    double moyenneValeurs = sommeValeurs / (tailleTableau + 1);


    --> ici sommeValeurs = 128 et tailleTableau = 5 et ca donne : moyenneValeurs = 0

    et comme ca :

    long moyenneValeurs = sommeValeurs / (tailleTableau + 1);


    --> moyenneValeurs = 21

    Je vous donne le code complet au cas ou :
    #include <stdio.h>
    #include <stdlib.h>

    long sommeTableau(long tableau[], long tailleTableau );
    long moyenneTableau(long tableau[], long tailleTableau );

    int main()
    {
    long tableau[6] = {5, 8, 6, 7, 15, 87};

    printf("\n Somme des valeurs : %ld", sommeTableau(tableau, 5));
    printf("\n Moyenne des valeurs : %ld", moyenneTableau(tableau, 5));
    return 0;
    }

    long sommeTableau(long tableau[], long tailleTableau)
    {
    long sommeValeurs = 0, i = 0;
    for (i = 0 ; i <= tailleTableau ; i++)
    {
    sommeValeurs = sommeValeurs + tableau[i];
    }
    return sommeValeurs;
    }

    long moyenneTableau(long tableau[], long tailleTableau)
    {
    long sommeValeurs = sommeTableau(tableau, tailleTableau);
    long moyenneValeurs = sommeValeurs / (tailleTableau + 1);
    return moyenneValeurs;
    }



    Savez d'ou ca peut venir ?

    Merci beaucoup !
    • Partager sur Facebook
    • Partager sur Twitter
      8 juin 2006 à 17:25:05

      peut être que tu essaie de diviser un double par un float, dans ce cas il faudrait peut etrer caster

      double moyenneValeurs = (double)sommeValeurs / (double)(tailleTableau + 1);
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        8 juin 2006 à 17:31:33

        Mets les moyennes en "double" et mets %lf au lieu de %ld pour l'affichage de la moyenne, je te promets rien...
        • Partager sur Facebook
        • Partager sur Twitter
          8 juin 2006 à 17:41:25

          Ca marche !
          J'ai mis les 2 variables en double et j'ai mis %lf au lieu de %ld.

          Merci beaucoup !
          • Partager sur Facebook
          • Partager sur Twitter

          Variables double ou float qui en marchent pas.

          × 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