Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème tableau

La honte !

    4 juillet 2007 à 12:22:32

    J'ai un petit souci avec mes tableaux en C++ :-°
    Voilà un bout de mon code :

    double state_croiseur[11][3];//initialisation de mon tableau

    for(int i = 0; i < 10; i++) { //mise du tableau à 0
        for (int j = 0; j < 2; j++){
            state_croiseur[i][j] = 0;
        }
    }


    Et là crack : expected unqualified-id before "for"
    Et quand j'enlève le passage des for et que je tente de donner des valeurs à des éléments de mon tableaux :
    state_croiseur[0][1] = 0;
    state_croiseur[0][1] = 12;
    state_croiseur[0][2] = 20;


    j'obtiens expected constructor, destructor, or type conversion before '=' token.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      4 juillet 2007 à 12:30:35

      Salut,

      moi je n'est pas de problème avec ce code. Ca doit venir d'une partie de ton code.

      Xav57
      • Partager sur Facebook
      • Partager sur Twitter
        4 juillet 2007 à 14:40:26

        Même chose... As-tu joué à l'apprenti configurateur de compilateur ? :o
        • Partager sur Facebook
        • Partager sur Twitter
          4 juillet 2007 à 15:33:49

          Bon j'aimerais préciser quelques trucs :

          double state_croiseur[11][3];//initialisation de mon tableau

          for(int i = 0; i < 10; i++) { //mise du tableau à 0
              for (int j = 0; j < 2; j++){
                  state_croiseur[i][j] = 0;
              }
          }


          Ceci :
          double state_croiseur[11][3];


          N'est pas une initialisation !
          C'est une déclaration !

          Ensuite :

          for(int i = 0; i < 10; i++) { //mise du tableau à 0
              for (int j = 0; j < 2; j++){
                  state_croiseur[i][j] = 0;
              }
          }


          Tu ne modifies pas toutes les valeurs du tableau avec ces boucles... Tu oublies les valeurs en fin de tableau, pour passer dans tout le tableau il faut mettre comme i et j strictement inférieur à la taille du tableau et non pas strictement inférieur à la taille du tableau moins 1, voilà ce qu'il faudrait faire :

          for(int i = 0; i < 11; i++) { //mise du tableau à 0
              for (int j = 0; j < 3; j++){
                  state_croiseur[i][j] = 0.0;
              }
          }


          Et pour finir, je pense qu'au lieu de te faire chier à tout écrire tu peux très facilement faire ça :

          double state_croiseur[11][3] = {{0.0}};


          Et ça c'est une initialisation.

          NB : pour le dernier point je me base sur le fait qu'en C lorsqu'on n'initialise pas toutes les variables d'un tableau, les autres sont initialisées à zéro, j'ignore si ce standard a été conservé en C++.
          • Partager sur Facebook
          • Partager sur Twitter
            4 juillet 2007 à 16:15:29

            Oui ça existe toujours
            • Partager sur Facebook
            • Partager sur Twitter
            Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
              4 juillet 2007 à 16:36:29

              Merci psychoh pour ce message pas trop ironique :)
              M'enfin bon...on peut pas être bon partout.

              J'ai resolu le problème en enlevant le "for" et en mettant
              la déclaration dans le main...
              Merci quand même pour votre aide, mais le boulétisme est quelque chose qui se soigne souvent seul :D

              EDIT : l'erreur du remplissage de tableau c'est parce que j'ai modifié les valeurs après et j'ai oublié de le faire dans la boucle...
              • Partager sur Facebook
              • Partager sur Twitter

              Problème tableau

              × 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