Partage
  • Partager sur Facebook
  • Partager sur Twitter

Code c qui plante, tableaux n dimensions

    21 février 2018 à 15:43:05

    Bonjour,

    j'ai un problème avec mon code, je ne vois d'erreur nulle part mais à la compilation il plante, le voici :

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        //useful variables
    
        int counter, counter2, counter3,
            copy;
    
        //initialize SDLbot
    
        int location[4];
    
        location[0] = 50;
        location[1] = 50;
        location[2] = 500;
        location[3] = 500;
    
        //initialize world
    
        int world[50][50][10][3];
    
        for(counter = 49; counter < 51; counter++)
        {
            for(counter2 = 49; counter2 < 51; counter2++)
            {
                copy = rand() % 9;
                copy++;
    
                for(counter3 = 1; counter3 < copy; counter3++)
                {
                    world[counter][counter2][counter3][0] = rand() % 3;
                    world[counter][counter2][counter3][1] = rand() % 1000;
                    world[counter][counter2][counter3][2] = rand() % 1000;
                }
    
                world[counter][counter2][0][0] = 1;
                world[counter][counter2][0][1] = copy;
            }
        }
    
        return 0;
    }
    

    Quelqu'un pourrait m'aider ?

    • Partager sur Facebook
    • Partager sur Twitter
      21 février 2018 à 15:46:23

      Salut,

      Tu dépasses les bornes de ton tableau ...

      • Partager sur Facebook
      • Partager sur Twitter
        21 février 2018 à 15:47:29

        Salut !

        Après lecture rapide :

        - Pourquoi initialise tu à chaque fois les variables dans les for ?

        - Quel est l'erreur ?

        - Que cherche tu as faire ?

        => Comme la dit magma tu dépasse la taille de ton tableau

        -
        Edité par Jupiter41 21 février 2018 à 15:48:06

        • Partager sur Facebook
        • Partager sur Twitter
          21 février 2018 à 15:48:05

          Bonjour ! Pour t'aider, il faudrait savoir ce qui se passe exactement à la compilation. Quant tu dis que ça plante, tu veux dire que ça plante vraiment, ou juste qu'il y a des messages d'erreur ? Si oui lesquels (il faut les copier-coller et indiquer leur ligne éventuelle) ? Si non, ou si c'est vraiment le compilateur qui plante, comment compiles-tu (il faut indiquer les actions précises) ?

          (Pendant que je répondais, je n'avais pas vu que deux réponses étaient en train d'être postées, donc ce que je dis est devenu inutile.)

          (Mais apparemment ce n'est pas à la compilation qu'il plante, mais à l'exécution. Sois précis.)

          -
          Edité par robun 21 février 2018 à 15:55:39

          • Partager sur Facebook
          • Partager sur Twitter
            21 février 2018 à 16:07:48

            Re,

            merci c'était bien une erreur dans la taille du tableau.

            Jupiter41, j'essaie de générer une partie d'un monde 2 dimensions dont la structure est composé de tronçons dans lesquels sont répartis aléatoirement n points où n est compris entre 1 et 9. Je débute en algorithmique, peut-être des méthodes plus efficaces existent ?

            • Partager sur Facebook
            • Partager sur Twitter
              21 février 2018 à 16:43:53

              Par convention, la plupart du temps on initialise la variable lorsqu'on la déclare, mais bon dans le cas d'une boucle for tu peux laisser ton code comme ça ^^

              -
              Edité par Jupiter41 21 février 2018 à 16:44:08

              • Partager sur Facebook
              • Partager sur Twitter

              Code c qui plante, tableaux n dimensions

              × 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