Bonjour,
je voudrais cr�er un tableau � n dimensions en allouant sa m�moire dynamiquement.
Esk il y a des librairies standards pour ce genre de choses qui me rendrait la vie + simple.
Merci d'avance![]()
Bonjour,
je voudrais cr�er un tableau � n dimensions en allouant sa m�moire dynamiquement.
Esk il y a des librairies standards pour ce genre de choses qui me rendrait la vie + simple.
Merci d'avance![]()
ou�, ya la classe vector de la STL
Code : S�lectionner tout - Visualiser dans une fen�tre � part #include <vector>
merci, jvais me renseigner pour savoir comment ca marche.![]()
quand tu dis � n dimensions, 'n' est connu?
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11 vector <vector <int> > tab2D; // tableau 2D de dimensions inconnues //allocation mémoire pour le tableau de taille 1000x300 tab2D.resize(1000); for (int i=0;i<ta2D.size();i++) { tab2D[i].resize(300); } //accès aux valeurs int k = tab2D[850][125];
si v est un vecteur
quand tu veux ajouter une valeur en bout de vecteur (et donc augmenter la taille) tu fais v.push_back(valeur) (renseigne toi l� dessus). le vecteur est redimensionn�.
sinon tant que tu restes dans l'espace d�j� r�serv�, tu fais un classique v[index] = valeur.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 vector <vector <int> > tab2D; // tableau 2D de dimensions inconnues //on met les valeurs, redimensionnement dynamique int i = 0, j = 0; while (ma condition) { while (ma condition 2) { tab2D[i][j].pushback(uneValeur); j++; } i++; }
oui n est connu = 4.
J'ai trouv� une doc dessus :
http://www.cppreference.com/cppvector_details.html
Jvais essay� de m'en sortir, si j'ai un pb jvous fais signe.
Merci encore![]()
http://artis.imag.fr/Membres/Xavier..../sommaire.html
c'est en fran�ais. les parties 2 & 4 peuvent t'int�resser, en compl�ment du lien que tu as d�j� trouv�.
bon j'ai un ptit probl�me,
j'ai une classe et je voudrais que mon vector :
soit accessible � toute les fonctions de la classe.
Code : S�lectionner tout - Visualiser dans une fen�tre � part vector < vector < vector <int> > > ArrayValue3D;
De plus je voudrais cr�er mon vector en plein milieu d'1 des fonctions.
C possible ???![]()
il suffit d'en faire un attribut de la classe.je voudrais que mon vector ... soit accessible � toute les fonctions de la classe.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 Class maClasse { protected: vector < vector < vector <int> > > ArrayValue3D; // ... mes autres attributs et méthodes protected public: //mes méthodes publics };tout est possible avec la carte Kiwi!De plus je voudrais cr�er mon vector en plein milieu d'1 des fonctions.
C possible ???![]()
. tu as d�j� d�clar� le vecteur comme attribut de la classe, il ne te reste plus qu'� lui mettre des valeurs dedans avec des push_back (redimenssionnement dynamique) ou � lui allouer de l'espace si la taille est connue avec un resize dans la m�thode de ton choix:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 maMethode(mesParamètres) { //on met les valeurs, redimensionnement dynamique int i = 0, j = 0,k = 0; while (ma condition) { while (ma condition 2) { while (ma condition 3) { ArrayValue3D[i][j][k].pushback(uneValeur); k++; } j++; } i++; }
boost::multi_array<> pour les tableaux (rectangulaires) de n'importe quoi � plusieurs dimensions. Et si tu utilises la derni�re version du compilateur de microsoft (dispo gratuitement en ligne), tu devrais aussi avoir acc�s aux biblioth�ques de calcul matriciel comme Blitz++.
Ces structures sont redimensionables, mais il vaux mieux les dimensionner avant de s'en servir.
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...
Ca y est ca marche![]()
Merci � vous. Merci les forums. Merci Internet et vive la carte Kiwi![]()
Partager