Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1593 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Comment initialiser un tableau 2 dimensions de manière dynamique ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment initialiser un tableau 2 dimensions de manière dynamique ?

n°2170202
Coco573
MSc. IT at London
Posté le 08-01-2013 à 13:27:14  profilanswer
 

Bonjour à tous,
 
dans le cadre d'un devoir, je dois initialiser la hauteur et la largeur à 9 et 15 dans mon constructeur par défaut et je dois initialiser un tableau à deux dimension "tab" de manière dynamique à ces dimensions.
Après avoir fait quelques recherches sur Internet, je n'arrive pas à trouver d'exemples concret.
Voici mon constructeur par défaut vide.
 
Plateau::Plateau (const int h=9, const int l=15)
{
     
}
 
Comment dois-je m'y prendre ?
Merci d'avance

mood
Publicité
Posté le 08-01-2013 à 13:27:14  profilanswer
 

n°2170252
Joel F
Real men use unique_ptr
Posté le 08-01-2013 à 16:45:59  profilanswer
 

Plateau::Plateau (const int h=9, const int l=15)  
: tab(l)
{
  for(size_t i=0;i<l;++i) tab[i].resize(h);
}
 
avec comme membre :
 
std::vector< std::vector<int> > tab;
 
 
int a remplacer par le bon type.

n°2170286
gilou
Modérateur
Modzilla
Posté le 08-01-2013 à 18:32:13  profilanswer
 

Ben si tu as droit a la librairie standard, et en supposant que ton tableau est un tableau d'int (et qu'il aura besoin de changer de taille en cours de programme) tu pourrais faire:

Code :
  1. #include <vector>
  2. class Plateau {
  3. private:
  4.     std::vector<std::vector<int> > plateau;
  5.    
  6. public:
  7.     Plateau(const std::size_t n = 9, const std::size_t m = 15) : plateau(m, std::vector<int>(n)) {
  8.     }
  9.     // ...
  10. };


EDIT: grillé! (je faisais joujou avec std::array et les template class avec les deux tailles en paramètre comme alternative, mais ça m'a eu l'air moins pratique)
A+,


Message édité par gilou le 08-01-2013 à 18:42:52

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2170296
Coco573
MSc. IT at London
Posté le 08-01-2013 à 19:19:54  profilanswer
 

Ah merci pour beaucoup Joel et Gilou ! :D
J'avais pas pensé à déclarer un vecteur pour plateau !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Comment initialiser un tableau 2 dimensions de manière dynamique ?

 

Sujets relatifs
Opérations sur les valeurs d'un tableauun algo qui supp le min et le max d'1 tableau à la fois SVP
[c][Transfer de donnees d´un tableau bidimensionel vers unidimensione][c][Lire et ecrire dans un tableau de caracteres en dimension 2]
Un tableau est-il un objet ?Tri dynamique
Tri tableau 2 dimensionsArchitecture Client - Serveur : Tableau Collaboratif
Plus de sujets relatifs à : Comment initialiser un tableau 2 dimensions de manière dynamique ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR