Partage
  • Partager sur Facebook
  • Partager sur Twitter

Bizarerie sur alloc dynamique de Tableau 2D

ne marche que sur tableau carré...

Sujet résolu
    6 octobre 2007 à 0:27:20

    Bonjour, je cherche a definir un tableau a deux dimensions(differente ou egal).
    Manque de peau, mon code ne marche pas si j'envoie une hauteur differente de la largeur, pourtant rien n'indique dans ce code un quelquonque aspect "d'obligeance" à donner 2 valeurs identiques.
    Losrque je fait mes tests le code plante ilico a l'execution si les valeurs envoyées à l'alloc sont differentes.
    Savez vous d'ou cela peut t'il venir?
    Merci

    Voici le code de l'alloc :

    1. tabPixel = (int**) malloc(m_largeur * sizeof(int*));
    2.         for(int i = 0; i < m_hauteur; ++i)
    3.         {
    4.             tabPixel[i] = (int*)malloc(m_hauteur*sizeof(int));
    5.         }
    6.     // intit tableau
    7.         for (int j = 0; j < m_hauteur; j++)
    8.         {
    9.             for (int i = 0; i < m_largeur; i++)
    10.             {
    11.                 tabPixel[i][j] = 0;
    12.             }
    13.         }
    • Partager sur Facebook
    • Partager sur Twitter
      6 octobre 2007 à 0:30:27

      dans ton premier for, il faut aller jusqu'au m_hauteur et non m_largeur :)
      • Partager sur Facebook
      • Partager sur Twitter

      Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

        6 octobre 2007 à 0:33:05

        Pinaize !! Fvirt tu fais vraiment vivre ce forum :p merci, c'etait si simple, lol, telement embourber dans toute ma prog que je ne voyait pas ce qui sautait au yeux ^^ .

        Merci, bonne continuation a toi ;)
        • Partager sur Facebook
        • Partager sur Twitter
          6 octobre 2007 à 0:34:40

          ça nous est tous arrivé les erreurs a cause d'un tableau en 2 dimensions :)

          Et quand ça ne marche qu'avec un tableau carré, tu peux très fortement soupçonner l'inversion d'un X et d'un Y quelque part, ce qui était le cas ici :)

          Cela dit, comme tu fais du C++, je te conseille d'utiliser des new plutot que des malloc :)
          • Partager sur Facebook
          • Partager sur Twitter

          Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

            6 octobre 2007 à 0:43:30

            effectivement, judicieux conseil :p
            Merci encore ca marche niquel...
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              6 octobre 2007 à 10:44:15

              baaaaaaah
              malloc detcted !!!!!!
              Vad et retro Satanas !!

              Utilise new[] !!
              • Partager sur Facebook
              • Partager sur Twitter

              Bizarerie sur alloc dynamique de Tableau 2D

              × 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