matrice carré dynamique? (résolu)

matrice carré dynamique? (résolu) - C++ - Programmation

Marsh Posté le 07-11-2008 à 23:17:22    

Bonjour,  
 
j'ai cherché mais j'ai pô trouvé: faire une matrice carré de taille dynamique. J'ai essayé avec un vecteur de vecteur, mais ca se redimensionne pô comme il faut...
 
Voilà mon bout de code si une âme charitable passe par ici:

Code :
  1. std::vector< std::vector< bool > > tableau_;
  2. ...
  3. int taille_tableau_ = tableau_.size();
  4. tableau_.resize(taille_tableau_ + 1);//marche po
  5. for(int i = 0; i < taille_tableau_; i++)
  6. {
  7. tableau_[i].resize(taille_tableau_ + 1, false);
  8. }


 
En plus, ca doit compiler en standard, donc exit boost.
 
Merci d'avance...  :jap:

Message cité 1 fois
Message édité par Le_Clubber le 08-11-2008 à 10:07:29
Reply

Marsh Posté le 07-11-2008 à 23:17:22   

Reply

Marsh Posté le 08-11-2008 à 09:59:36    

Le_Clubber a écrit :

En plus, ca doit compiler en standard, donc exit boost.


Genre ... les gens va falloir apprendre que boost et la STD de dans 2 ans hein :o
Bref, pour infos : boost::multi_array.
 
Pour repondre à tes exigences farfelues :
http://forum.hardware.fr/hfr/Progr [...] m#t1654842
à encapsuler proprement bien sur. Le redimensionnement est alors plutot simple à écrire

Reply

Marsh Posté le 08-11-2008 à 09:59:40    

Bon, et bah ça doit être le resize qui marche pô, mais j'ai trouvé comment faire: avec push_back pardi!
 
Ce qui nous donne pour les curieux:

Code :
  1. std::vector< std::vector< bool > > tableau_;
  2. ...
  3. int taille_tableau_ = tableau_.size();
  4. //tableau_.resize(taille_tableau_ + 1);//marche po
  5. for(int i = 0; i < taille_tableau_; i++)
  6. {
  7.      tableau_[i].resize(taille_tableau_ + 1, false);
  8. }
  9. tableau_.push_back(std::vector<bool>(taille_tableau_+1, false));


 
et comme ca la matrice reste carré! :)

Reply

Marsh Posté le 08-11-2008 à 10:04:28    

J'ai pô le choix pour la std: ça doit compiler chez le prof hein! (j'suis encore étudiant...)
 
Je vais quand même pô lui dire qu'il lui faut installer boost, lui faire perdre du tps et se retrouver avec une note minable...

Reply

Marsh Posté le 08-11-2008 à 10:14:50    

Je dis rien alors :E
C'est deja pas mal qu'il te fasse utiliser vector, ca change :o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed