Tableau à 3 dimensions

Signaler
Messages postés
25
Date d'inscription
dimanche 30 mars 2008
Statut
Membre
Dernière intervention
12 juin 2011
-
Messages postés
21
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
6 mars 2009
-
bonjour,
je veux savoir  comment allouer et libérer de mémoire à un tableau à trois dimensions.
merci pour vos aides.

1 réponse

Messages postés
21
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
6 mars 2009

Salut,

voila un bout de code :

#include

// Definition de la taille du tableau
#define X 10
#define Y 10
#define Z 10

int main()
{
    int i, j, k;

    // Pointeur sur le tableau à trois dimensions
    int*** tab;

    // Allocation dynamique du tableau
    // 1ere dimension
    tab = new int**[X];

    // 2eme dimension
    for(i = 0; i < X; i++)
    {
        tab[i] = new int*[Y];
    }

    // 3eme dimension
    for(i = 0; i < X; i++)
    {
        for(j = 0; j < Y; j++)
        {
            tab[i][j] = new int[Z];
        }
    }

    // Initialisation du tableau
    for(i = 0; i < X; i++)
    {
        for(j = 0; j < Y; j++)
        {
            for(k = 0; k < Z; k++)
            {
                tab[i][j][k] = 0;
            }
        }
    }

    // Libération de la mémoire
    // 3eme dimension
    for(i = 0; i < X; i++)
    {
        for(j = 0; j < Y; j++)
        {
            delete []tab[i][j];
        }
    }

    // 2eme dimension
    for(i = 0; i < X; i++)
    {
        delete []tab[i];
    }

    // 1ere dimension
    delete []tab;

    return 0;
}

++