Partage
  • Partager sur Facebook
  • Partager sur Twitter

Les Tableaux - Exercice 1

Help !

    17 mai 2007 à 17:20:52

    Bonjour,
    Je suis, en ce moment même, les cours C/C++ et je suis resté bloqué sur cet exercice 1 de la partie Tableaux.

    Voici l'énoncé :

    Citation : Exercice 1

    Créer une fonction sommeTableau qui renvoie la somme des valeurs contenues dans le tableau (utilisez un return pour renvoyer la valeur).
    Pour vous aider, voici le prototype de la fonction à créer :

    Citation : Code : C

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



    Et voici mon code :

    Citation : Mon code

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

    long sommeTableau(adresseTableau, tailleTableau)

    int main(int argc, char *argv[])
    {
    long tableau[4]={5, 6, 46, 16}

    sommeTableau(tableau, 4)

    printf("la somme de ce tableau fait %ld", sommeTableau)

    return 0;
    }

    long sommeTableau(adresseTableau, tailleTableau)
    {
    somme = adresseTableau[0]+adresseTableau[1]+adresseTableau[2]+adresseTableau[3]

    return somme;
    }



    Et voici les infos de bug de code::block :

    Citation : Code::Blocks

    Line7 error:syntax error before'{' token
    Line22 warning:no newline at end of file



    HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA DéSOLé !!!! j'ai cru bien regarder mais je nai aps vu le sujet juste avant. désolé !!
    • Partager sur Facebook
    • Partager sur Twitter
      17 mai 2007 à 17:22:39

      Aie Aie Aie !

      long sommeTableau(adresseTableau, tailleTableau)
      {
      somme = adresseTableau[0]+adresseTableau[1]+adresseTableau[2]+adresseTableau[3]

      return somme;
      }


      Et si ton tableau fait 1000 cases, tu fais comment ? Tu crois que ton deuxième paramètre (à savoir tailleTableau) sert à quoi? ;p
      Vive les boucles :)
      • Partager sur Facebook
      • Partager sur Twitter
        17 mai 2007 à 17:22:55

        ta oubllier le ; de ta prototype ligne 7.
        • Partager sur Facebook
        • Partager sur Twitter
          17 mai 2007 à 17:24:28

          Utilise les balises de code!!!
          De quel type sont les variable taille tableau et adressetableau??? o_O:colere2:
          Fait passer ton tableau par un pointeur...

          Pfranco
          • Partager sur Facebook
          • Partager sur Twitter
            17 mai 2007 à 17:25:07

            Enfait il les a oublié partout!!!

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

            long sommeTableau(adresseTableau, tailleTableau); // ici

            int main(int argc, char *argv[])
            {
            long tableau[4]={5, 6, 46, 16}; // ici

            sommeTableau(tableau, 4); // ici

            printf("la somme de ce tableau fait %ld", sommeTableau); // ici

            return 0;
            }

            long sommeTableau(adresseTableau, tailleTableau)
            {
            // blabla
            return somme;
            }



            Citation : Lénervé

            Fait passer ton tableau par un pointeur...


            T'as fini de raconter n'importe quoi?
            • Partager sur Facebook
            • Partager sur Twitter
              17 mai 2007 à 17:26:15

              long sommeTableau(adresseTableau, tailleTableau)
              {
              somme = adresseTableau[0]+adresseTableau[1]+adresseTableau[2]+adresseTableau[3]

              return somme;
              }


              met le ; ligne 22 lors du calcul somme
              • Partager sur Facebook
              • Partager sur Twitter
                17 mai 2007 à 17:26:29

                Je viens de rajouter le ; maintenant j'ai encore plus de bug -_-"

                Désolé pour mes bourdes de débutant mais j'ai commencé hier a lire les cours et la c'est la premiére fois que j'essaye de créer un bout de code
                • Partager sur Facebook
                • Partager sur Twitter
                  17 mai 2007 à 17:29:49

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

                  long sommeTableau(long *adresseTableau,int tailleTableau)

                  int main(int argc, char *argv[])
                  {
                  long tableau[4]={5, 6, 46, 16};

                  sommeTableau(tableau, 4);

                  printf("la somme de ce tableau fait %ld", sommeTableau);

                  return 0;
                  }

                  long sommeTableau(long *adresseTableau,int tailleTableau)
                  {
                  int somme = adresseTableau[0]+adresseTableau[1]+adresseTableau[2]+adresseTableau[3];

                  return somme;
                  }
                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 mai 2007 à 17:30:24

                    Citation : WTF?

                    Désolé pour mes bourdes de débutant mais j'ai commencé hier a lire les cours et la c'est la premiére fois que j'essaye de créer un bout de code



                    QUOI???? TU AS FAIS TOUS LES COURS EN UNE JOURNEE??
                    Et le tp?? Et les exercices ?????!!

                    Mais ne t'étonne pas ! La programmation c'est pas: je vais copier un bout de code par ici par là !

                    Conseils que tu devrais appliquer: Tu fais un chapitre par jour ou prend même 2/3jours pour un s'il te semble dur et programme !!!
                    • Partager sur Facebook
                    • Partager sur Twitter
                      17 mai 2007 à 17:35:53

                      en faite j'ai deja lu la partie 1 il y a un mois je m'y suis juste remis.
                      Et j'ai fait les exercices mentalement ( :-° je sais...) par ce que javais pas accés a l'ordinateur hier...

                      Je suis surtout perdu pour faire la fonction sommeTableau
                      actuelement j'ai :

                      Citation : Pas de titre

                      long sommeTableau(long *adresseTableau, long tailleTableau)
                      {
                      long somme = adresseTableau[0]+adresseTableau[1]+adresseTableau[2]+adresseTableau[3];

                      return somme;
                      }



                      Pourquoi dois-je mettre en entrée *adresseTableau (qui est, si j'ai bien compris la valeure de la premiére case du tableau)?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        17 mai 2007 à 17:42:56

                        Si tu oublies qu'on finit une fonction et déclaration par un ";" alors relit tout.
                        Pour ma part je t'aiderai pas sur ce coup bien que je le peux :p Et c'est pour toi ;)

                        Demandes toi si tu sais faire ça:
                        *Demande l'âge à l'utilisateur,
                        *Si l'age est plus grand ou égal à 18, on lui dit qu'il est majeur, sinon mineur
                        • Partager sur Facebook
                        • Partager sur Twitter
                          17 mai 2007 à 17:49:01

                          Citation : Gambit2099

                          Demandes toi si tu sais faire ça:
                          *Demande l'âge à l'utilisateur,
                          *Si l'age est plus grand ou égal à 18, on lui dit qu'il est majeur, sinon mineur



                          Oui je sais le faire (avec scanf et ensuite avec if...else)

                          j'ai reussi à reduire les bugs voila ou j'en suis :
                          #include <stdio.h>
                          #include <stdlib.h>

                          long sommeTableau(long *adresseTableau, long tailleTableau);

                          int main(int argc, char *argv[])
                          {
                                  long tableau[4]={5, 6, 46, 16};

                                  sommeTableau(tableau, 4);

                                  printf("la somme de ce tableau fait %ld", sommeTableau);

                                  return 0;
                          }

                          long sommeTableau(long *adresseTableau, long tailleTableau)
                          {
                              long somme = *(adresseTableau + 1)+*(adresseTableau + 2)+*(adresseTableau + 3)+*adresseTableau;

                              return somme;
                          }


                          cependant code::block mindique qu'il y a toujours des bugs :
                          line10 error : syntax error before "sommeTableau"
                          line22 warning no newline at end of file
                          • Partager sur Facebook
                          • Partager sur Twitter
                            17 mai 2007 à 17:52:56

                            Tu lis mes posts ou pas ? Car jtai corrigé des bugs de ";" et jtai fais la remarque. Tu n'écoutes pas.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              17 mai 2007 à 17:53:41

                              mais si !!
                              je lis !! (j'ai ptét de la m**** dans les yeux mais je lis)
                              • Partager sur Facebook
                              • Partager sur Twitter
                                17 mai 2007 à 17:56:40

                                Bon déjà si tu pouvais mettre les balises de code quand tu postes ton code sur le forum ça serait parfait pour nos yeux à nous ! Merci ! :D

                                Bon ensuite réfléchissons un peu, dans cette exercice tu as besoin de parcourir le tableau ok ? Comment fait-on pour parcourir un tableau ? Ensuite quelles sont les instruction à faire pour trouver la somme du tableau ?

                                J'espère que mon aide te suffira. :)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  17 mai 2007 à 17:58:01

                                  Arty MacFLy, MET LES BALISE DE CODE!!! :colere:

                                  Pfranco
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    17 mai 2007 à 18:05:30

                                    j'ai mit tout le code sa suffit pas ?
                                    (j'ai réglé le probléme de ; mais mnt le resultat obtenu n'est pas le bon)
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      17 mai 2007 à 18:07:12

                                      Ah ouais? Et tu as lu ce message: http://www.siteduzero.com/forum-83-147252-1342607.html#r1342607

                                      ???? Car ça te corrige ton problème avec les ";" !
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        17 mai 2007 à 18:08:00

                                        Quand tu cliques sur répondre, dans le cadre de la réponse en haut à gauche tu as une listbox Code, tu cliques sur les balises C et tu mets ton code à l'intérieur pour que ça le rende joli, que l'on puisse mieux le voir et donc que l'on puisse t'aider... Et surtout que ça nous donne envie de t'aider.
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          17 mai 2007 à 18:10:13

                                          Haaaaa daccord ! (merci Mood)
                                          J'ai réglé le probléme des ; merci gambit2099
                                          Le programme se lance Youpi !!!
                                          Par contre il me met 4199172 en resultat...
                                          C'est une adresse ou le resultat d'un vrai calcul ?
                                          Je vois pas comment sa pourrais être une adresse au regard de mon code.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            17 mai 2007 à 18:12:40

                                            Envoi nous ton code maintenant AVEC balise
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              17 mai 2007 à 18:15:55

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

                                              long sommeTableau(long *adresseTableau, long tailleTableau);

                                              int main(int argc, char *argv[])
                                              {
                                                      long tableau[4]={5, 6, 46, 16};

                                                      sommeTableau(tableau, 4);

                                                      printf("la somme de ce tableau fait %ld", sommeTableau);

                                                      return 0;
                                              }

                                              long sommeTableau(long *adresseTableau, long tailleTableau)
                                              {
                                                  long somme = *(adresseTableau + 1)+*(adresseTableau + 2)+*(adresseTableau + 3)+*adresseTableau;

                                                  return somme;
                                              }

                                              Je crois que ce soir je vais relire tous les cours jusqu'aux tableaux...
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                17 mai 2007 à 18:19:49

                                                Déjà fais simple et prend le prototype donné par M@teo dans le cours :
                                                long sommeTableau(long tableau[], long tailleTableau);
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  17 mai 2007 à 18:29:22

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

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

                                                  int main(int argc, char *argv[])
                                                  {
                                                          long tableau[4]={5, 6, 46, 16};

                                                          sommeTableau(tableau, 4);

                                                          printf("la somme de ce tableau fait %ld", sommeTableau);

                                                          return 0;
                                                  }

                                                  long sommeTableau(long tableau[], long tailleTableau);
                                                  {
                                                      long somme = tableau[0]+tableau[1]+tableau[2]+tableau[3];

                                                      return somme;
                                                  }


                                                  Citation : Zone de la mort !

                                                  Line18 error : syntax error before '{' token

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    17 mai 2007 à 18:32:08

                                                    Mood: Ca change rien.

                                                    J'ai corrigé ton code mais avant je veux savoir une chose: tu arriverais à faire un code qui fait: demande à l'utilisateur d'entré le chiffre 2, tant qu'il le fait pas on lui demande (il peut le demander 600 fois s'il veut)
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      17 mai 2007 à 18:47:06

                                                      De tête je dirais ceci :

                                                      Long entreeChiffre=0

                                                      do
                                                      {
                                                          printf("entrez le chiffre 2 svp :");
                                                          scanf("%ld", &entreeChiffre);
                                                      }while (entreeChiffre != 2)


                                                      CORRECTION
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        17 mai 2007 à 18:58:42

                                                        Citation : Arty McFly

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

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

                                                        int main(int argc, char *argv[])
                                                        {
                                                                long tableau[4]={5, 6, 46, 16};

                                                                sommeTableau(tableau, 4);

                                                                printf("la somme de ce tableau fait %ld", sommeTableau);

                                                                return 0;
                                                        }

                                                        long sommeTableau(long tableau[], long tailleTableau);
                                                        {
                                                            long somme = tableau[0]+tableau[1]+tableau[2]+tableau[3];

                                                            return somme;
                                                        }



                                                        Citation : Zone de la mort !

                                                        Line18 error : syntax error before '{' token


                                                        Assez normale:
                                                        #include <stdio.h>
                                                        #include <stdlib.h>

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

                                                        int main(int argc, char *argv[])
                                                        {
                                                                long tableau[4]={5, 6, 46, 16};

                                                                sommeTableau(tableau, 4);

                                                                printf("la somme de ce tableau fait %ld", sommeTableau);

                                                                return 0;
                                                        }

                                                        long sommeTableau(long tableau[], long tailleTableau);//PAS DE POINT-VIRGULE.
                                                        {
                                                            long somme = tableau[0]+tableau[1]+tableau[2]+tableau[3];

                                                            return somme;
                                                        }
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          17 mai 2007 à 19:00:34

                                                          :waw: oh non ...
                                                          l'erreur de la honte :-°

                                                          Bon le programme se lance maintenant cependant il m'affiche une reponse fausse : 4199172
                                                          je ne vois pas ce qui cloche dans le code portant
                                                          sans doute sur cette ligne :
                                                          long somme = *tableau+*(tableau+1)+*(tableau+2)+*(tableau+3);
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            17 mai 2007 à 19:06:15

                                                            Faut initialiser somme à 0 dans la fonction.
                                                            Quand t'appeles la fonction faut mettre ça dans le printf: sommeTableau(tableau, 4) et nul part d'autre.
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              17 mai 2007 à 19:11:13

                                                              Oui sa marche !
                                                              merci gambit (je recommencer les cours depuis le debut)
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Les Tableaux - Exercice 1

                                                              × 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