Un problème avec les tableaux dynamique multidimensionnel en c++
sonsonbm
Messages postés10Date d'inscriptionlundi 18 mai 2009StatutMembreDernière intervention20 décembre 2009
-
22 nov. 2009 à 16:05
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023
-
23 nov. 2009 à 17:57
je dois créer une application qui utilise une matrice qui a chaque ittération on lui ajoute une ligne et on la remplit avec un tableau qu'on a.
jai utilisé les vector
std::vector < std::vector > blackList(1, std::vector (5,0));
for(int jj=0;jj<5;jj++)
blackList[0][jj]=tabalgo[jj+1];
c'est pour initialiser la premiere ligne de la matrice
puis pour chaque ittération j'ai fait
//bk est un entier qui s'incrémente a chaque ittération
blackList.resize(bk);
for(int jj=0;jj<5;jj++)
blackList[bk-1][jj+1]=tabalgo[jj+1];
l'excécuttion se deroule bien si on enlève
"blackList[bk-1][jj+1]=tabalgo[jj+1];"
sinon elle se bloque dans la troisième ittération
je sais pas si c'est du programme ou bien il faut pas que j'utilise les vector pour les matrices dynamiques
aidez moi svp et je vous serez reconnaissante
sonsonbm
Messages postés10Date d'inscriptionlundi 18 mai 2009StatutMembreDernière intervention20 décembre 2009 23 nov. 2009 à 17:29
j'ai vu ces liens j'ai compris qu'il s'agit de création des tableaux multiimensionnels.la déclaration et son parcours est assez facile mais j'ai pas compris comment c'est dynamique.
moi a chaque ittération je dois ajouter une ligne.
au debut je declare une matrice a une seule ligne et 5 colonnes puis a chaque ittération j'ajoute une ligne.
pou la declaration jai su qu'il faut mettre ce code la
#include "boost/multi_array.hpp"
int main()
{
boost::multi_array tab(boost::extents[1][5]);
for(int i=0;i<tab.size()<i++)
for(intj=0;j<5;j++)
tab[i][j]=0;
c'est la matrice crée normalement
0 0 0 0 0
je sais pas si c'est juste de faire tab.size()
puis a la prochaine ittération j'ajoute une ligne est ce que c'est juste d'écrire
tab.resize(boost::extents[2][5]);