Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme sur les tableaux

moyenne comme dans le tuto

    16 juillet 2006 à 13:47:21

    bonjour,
    J'ai reussi a faire la fonction pour faire la somme des valeurs du tableau

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

    }


    et je me suis dis que pour faire une moyenne des valeurs il suffisait de reprendre cette fonction puis de diviser le total par la variable tailleTableau comme ici:

    double moyenneTableau(long tableau[], long tailleTableau)
    {
           long i=0;
           double moyenne=0;
           
           for (i=0;i<tailleTableau;i++)
           {
               moyenne= moyenne+tableau[i];
           }
           
           moyenne/tailleTableau;
           
           return moyenne;
    }             

    mais malheuresement et contre toute attente le resultat est identique a celui de la fonction sommeTableau :(:'(:(
    donc si qqun pouvait me dire ce qui foire je lui en serait très reconnaissant :D

    au cas où je met le code au complet
    #include <stdio.h>
    #include <stdlib.h>
    #include "tableaux.h"





    int main(int argc, char *argv[])
    {
     
      long tableau[5];
      tableau[0]=8;
      tableau[1]=13;
      tableau[2]=9;
      tableau[3]=4;
      tableau[4]=21;
     
      printf("la somme des valeurs de ce tableaux est egale a %ld \n",sommeTableau(tableau,5));
      printf("la moyenne des valeurs de ce tableau est egale a %lf \n",moyenneTableau(tableau,5));
     
      system("PAUSE");     
      return 0;
    }





    ////////////////////////////////////////////////////////////////////////////////




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

    }


    ////////////////////////////////////////////////////////////////////////////////

    double moyenneTableau(long tableau[], long tailleTableau)
    {
           long i=0;
           double moyenne=0;
           
           for (i=0;i<tailleTableau;i++)
           {
               moyenne= moyenne+tableau[i];
           }
           
           moyenne/tailleTableau;
           
           return moyenne;
    }             

    • Partager sur Facebook
    • Partager sur Twitter
      16 juillet 2006 à 14:05:04

      Plus de peur que de mal :D :
      #include <stdio.h>
      #include <stdlib.h>
      #include "tableaux.h"





      int main(int argc, char *argv[])
      {
       
        long tableau[5];
        tableau[0]=8;
        tableau[1]=13;
        tableau[2]=9;
        tableau[3]=4;
        tableau[4]=21;
       
        printf("la somme des valeurs de ce tableaux est egale a %ld \n",sommeTableau(tableau,5));
        printf("la moyenne des valeurs de ce tableau est egale a %lf \n",moyenneTableau(tableau,5));
       
        system("PAUSE");     
        return 0;
      }





      ////////////////////////////////////////////////////////////////////////////////




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

      }


      ////////////////////////////////////////////////////////////////////////////////

      double moyenneTableau(long tableau[], long tailleTableau)
      {
             long i=0;
             double moyenne=0, somme = 0;
             
             for (i=0;i<tailleTableau;i++)
             {
                 somme += tableau[i];
             }
             
             moyenne = somme/tailleTableau;
             
             return moyenne;
      }             


      Une autre solution, mais pas compatible avec le prototype qu'à donné M@teo21 :
      #include <stdio.h>
      #include <stdlib.h>
      #include "tableaux.h"





      int main(int argc, char *argv[])
      {
       
        long tableau[5];
        tableau[0]=8;
        tableau[1]=13;
        tableau[2]=9;
        tableau[3]=4;
        tableau[4]=21;
       
        printf("la somme des valeurs de ce tableaux est egale a %ld \n",sommeTableau(tableau,5));
        printf("la moyenne des valeurs de ce tableau est egale a %lf \n",moyenneTableau(tableau));
       
        system("PAUSE");     
        return 0;
      }





      ////////////////////////////////////////////////////////////////////////////////




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

      }


      ////////////////////////////////////////////////////////////////////////////////

      double moyenneTableau(long tableau[])
      {
             double moyenne=0, somme = 0;
             
             somme = sommeTableau(tableau,5);
             
             moyenne = somme/tailleTableau;
             
             return moyenne;
      }             

      • Partager sur Facebook
      • Partager sur Twitter
        16 juillet 2006 à 14:26:44

        merci mais je préfererais pouvoir utiliser les deux fonctions indépendemment les unes des autres (à moins que je ne comprenne pas tu utilise la variable somme pour faire la moyenne et j'aimerais éviter
        • Partager sur Facebook
        • Partager sur Twitter
          16 juillet 2006 à 14:40:17

          Je coris avoir compris que tu voulais ça :
          #include <stdio.h>
          #include <stdlib.h>
          #include "tableaux.h"





          int main(int argc, char *argv[])
          {
           
            long tableau[5];
            tableau[0]=8;
            tableau[1]=13;
            tableau[2]=9;
            tableau[3]=4;
            tableau[4]=21;
           
            printf("la somme des valeurs de ce tableaux est egale a %ld \n",sommeTableau(tableau,5));
            printf("la moyenne des valeurs de ce tableau est egale a %lf \n",moyenneTableau(tableau,5));
           
            system("PAUSE");     
            return 0;
          }





          ////////////////////////////////////////////////////////////////////////////////




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

          }


          ////////////////////////////////////////////////////////////////////////////////

          double moyenneTableau(long tableau[], long tailleTableau)
          {
                 long i=0;
                 double moyenne=0;
                 
                 for (i=0;i<tailleTableau;i++)
                 {
                     moyenne += tableau[i];
                 }
                 
                 moyenne /= tailleTableau;
                 
                 return moyenne;
          }

          :D
          • Partager sur Facebook
          • Partager sur Twitter
            16 juillet 2006 à 15:10:21

            oui c'est ça, merci beaucoup ^^ mais je comprend pas pourquoi on doit mettre un "=" après le "/" o_O
            • Partager sur Facebook
            • Partager sur Twitter
              16 juillet 2006 à 15:20:03

              Si on met :
                     moyenne /= tailleTableau;

              C'est comme si on mettait :
                     moyenne = moyenne / tailleTableau;
              • Partager sur Facebook
              • Partager sur Twitter

              probleme sur les tableaux

              × 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