Partage
  • Partager sur Facebook
  • Partager sur Twitter

exercice calcul de la somme pour un tableau donné

exercice calcul de la somme pour un tableau donné

    1 mars 2006 à 10:26:57

    salut;
    je viens de commencer l'exercice de mateo, mais je me suis planté par une erreur que je n'arrive pas à assimiler.

    je donne mon code C

    #include <stdio.h>
    #include <stdlib.h>
    long somme(long *tableau,long taille);
    int main(int argc, char *argv[])
    {
    long tableau [4]= {10,20,30,40};
    somme(tableau,4);
    printf("%ld",somme(tableau,4));
    system("PAUSE");       
      return 0;
    } 
    long somme(long *tableau,long taille)
    {
         long som = 0,i;
         
         for(i =0,i<4, i++)
         {
         som = som + tableau [i];
         return som;
         }
    }     
     

    Aidez moi SVP
    zerotamsa
    • Partager sur Facebook
    • Partager sur Twitter
      1 mars 2006 à 10:29:00

      Bah deja t'appelle 2 fois la fonction.
      • Partager sur Facebook
      • Partager sur Twitter
        1 mars 2006 à 10:40:32

        salut,
        mais le premier appel c'est le prototype de la fonction somme
        la deuscième lorsque le compilateur lit le code somme(tableau,4) il se connecte à la fonction;
        je ne vois pas la répitition de la fonction
        zerotamsa
        • Partager sur Facebook
        • Partager sur Twitter
          1 mars 2006 à 10:46:11

          La répétition est là :
          somme(tableau,4); // cet appel ne sert à rien
          printf("%ld",somme(tableau,4));

          Dans le boucle for, il faut des ";" et non des ",". De plus a quoi ça sert d'avoir un argument "taille" si tu ne l'utilises pas dans la fonction ?

          Et finalement, sort ton "return som;" de la boucle.
          • Partager sur Facebook
          • Partager sur Twitter
            1 mars 2006 à 10:53:45

            salut,

            merci beaucoup maintenat ça marche, je donne mon code après réctification
            et merci beaucoup encore une fois

            code C

            #include <stdio.h>
            #include <stdlib.h>
            long somme(long *tableau,long taille);
            int main(int argc, char *argv[])
            {
            long tableau [4]= {10,20,30,40};

            printf("%ld\n",somme(tableau,4));
            system("PAUSE");
            return 0;
            }
            long somme(long *tableau,long taille)
            {
            long som = 0,i;

            for(i =0;i<taille; i++)
            {
            som = som + tableau [i];

            }
            return som;
            }

            zerotamsa

            • Partager sur Facebook
            • Partager sur Twitter
              1 mars 2006 à 14:01:15


              Euh , Il faudrait pas [5]

              Citation : tamsamani

              long tableau [4]= {10,20,30,40};


              Et le dernier caractère alors ? ( Le \0 ) o_O
              Ca va faire des plantages mémoires !

              ( enfin , si je me rappelle bien ) :p
              • Partager sur Facebook
              • Partager sur Twitter
                1 mars 2006 à 14:06:52

                Citation : PianoPâriss


                Euh , Il faudrait pas [5]

                Citation : tamsamani

                long tableau [4]= {10,20,30,40};



                Et le dernier caractère alors ? ( Le \0 ) o_O
                Ca va faire des plantages mémoires !

                ( enfin , si je me rappelle bien ) :p



                Nan, nan, car il s'agit ici d'un tableau de long et non de char

                Amicalement Mercosuh :D
                • Partager sur Facebook
                • Partager sur Twitter
                  1 mars 2006 à 14:08:51

                  Citation : PianoPâriss


                  Euh , Il faudrait pas [5]

                  Citation : tamsamani

                  long tableau [4]= {10,20,30,40};



                  Et le dernier caractère alors ? ( Le \0 ) o_O
                  Ca va faire des plantages mémoires !

                  ( enfin , si je me rappelle bien ) :p



                  non désolé PianoPâriss, c'est uniquement pour les chaîne de caractère qu'il faut un '\0' a la fin, mais pas pour les tableaux classiques ;) .
                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 mars 2006 à 14:43:22

                    #include <stdio.h>
                    #include <stdlib.h>

                    long somme(long tableau[]long taille);

                    int main(int argc‚ char *argv[])
                    {
                    long tableau [4]= {10203040};

                    printf("%ld"‚somme(tableau‚4)); //Tu as appelé 2 fois ta fonction...

                    system("PAUSE");       
                    return 0;

                    }
                     
                    long somme(long tableau[]long taille)
                    {
                         long som = 0‚ i;
                         
                         for(i = 0 ; i < 4 ; i++)//Il faut des ; dans une boucles for
                         {
                         som = som + tableau[i];
                         
                         return som;
                         }
                    }     
                    • Partager sur Facebook
                    • Partager sur Twitter
                      11 mars 2006 à 15:13:00

                      Après avoir eu quelques petits problèmes, voici le code qui marche avec tout les tableaux ;)

                      #include <stdio.h>
                      #include <stdlib.h>

                      long somme (long tableau[]int Nbr);
                      int main(int argc‚ char *argv[])
                      {
                        long tableau[4] = {1111};
                        int longueur;
                        longueur = sizeof(tableau) / sizeof(tableau[0]);
                        printf("Resultat = %d"‚ somme(tableau‚longueur));     
                        return 0;
                      }

                      long somme (long tableau[]int Nbr)
                      {
                          int i;
                          long somme = 0;
                          for (i = 0; i < Nbr; i++)
                          { somme += tableau[i]; }
                         
                          return somme;
                      }
                      • Partager sur Facebook
                      • Partager sur Twitter
                        11 mars 2006 à 23:45:50

                        merci beaucoup
                        zerotamsa
                        • Partager sur Facebook
                        • Partager sur Twitter

                        exercice calcul de la somme pour un tableau donné

                        × 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