Allocation dynamique d'un tableau a deux dimensions [Résolu]

Signaler
Messages postés
28
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
15 janvier 2016
-
Messages postés
28
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
15 janvier 2016
-
Bonjour à tous

Je voudrais allouer dynamiquement un tableau a deux dimensions d'entiers

Est-t-il possible de le faire avec des new au lieu d'utiliser malloc.

Si oui, pouvez vous m'expliquer comment faire.

car mon problème est que cette création de tableau ne fonctionne pas

int Tab[Nbpuzzles][Nbpieces];
où Nbpuzzles et Nbpieces sont des variables

Le compilateur me dit Expression constante nécessaire

Merci d'avance

2 réponses

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
il faut tout d'abord allouer un tableau de sous-tableaux et allouer les sous-tableaux :
int** tab = new int*[Nbpuzzles];
for(i = 0; i < Nbpuzzles; i++)
tab[Nbpuzzles] = new int[Nbpieces];

l'accès se fait ensuite :
int val = tab[numpuzzle][numpiece];

pour la destruction :
for(i = 0; i < Nbpuzzles; i++)
delete[] tab[Nbpuzzles];

delete[] tab;
Messages postés
28
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
15 janvier 2016

Merci a toi ymca2003