OVH Cloud OVH Cloud

Tableaux 2D complexes

8 réponses
Avatar
bipcpp
Quelle est la meilleure structure pour stocker en mémoire des données
qui représentent un tableau 2D :
- le nombre de ligne du tableau est variable.
- le nombre de colonne est variable, la nature des colonnes est
variable (string, int, bool, ...)
- le nombre de ligne, de colonnes et la nature des colonnes n'est pas
connu lors de la compilation du programme.
- ouf ...

Merci de votre aide.

8 réponses

Avatar
LaFleche
Quelle est la meilleure structure pour stocker en mémoire des données
qui représentent un tableau 2D :
- le nombre de ligne du tableau est variable.
- le nombre de colonne est variable, la nature des colonnes est
variable (string, int, bool, ...)
- le nombre de ligne, de colonnes et la nature des colonnes n'est pas
connu lors de la compilation du programme.
- ouf ...

Merci de votre aide.


Merci de faire mes devoirs à ma place?

ca va mal passer ...

Avatar
Fabien LE LEZ
On Sun, 20 Jun 2004 21:22:37 +0200, :

la nature des colonnes est
variable (string, int, bool, ...)


<http://www.boost.org/regression-logs/cs-win32_metacomm/doc/html/any.html>


--
schtroumpf schtroumpf

Avatar
Luc Hermitte
LaFleche wrote in news:40d617aa$0$287
$:

Quelle est la meilleure structure pour stocker en mémoire des données
qui représentent un tableau 2D :
- le nombre de ligne du tableau est variable.
- le nombre de colonne est variable, la nature des colonnes est
variable (string, int, bool, ...)
- le nombre de ligne, de colonnes et la nature des colonnes n'est pas
connu lors de la compilation du programme.
- ouf ...



Toutes les lignes ont la même taille ?
-> je partirais sur boost::multi_array<> de boost::variant ou any
Sinon, du vecteur de vecteur de variant ou any

Merci de faire mes devoirs à ma place?
ca va mal passer ...


Il n'y a pas que les réponses qui décortiquent tout... comme cela devrait
être fait dans un exo.

--
Luc Hermitte <hermitte at free.fr>
FAQ de <news:fr.comp.lang.c++> :
<http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/>
Dejanews : <http://groups.google.com/advanced_group_search>


Avatar
Alexandre
bonjour,

a écrit dans le message de
news:
Quelle est la meilleure structure pour stocker en mémoire des données
qui représentent un tableau 2D :
- le nombre de ligne du tableau est variable.
- le nombre de colonne est variable, la nature des colonnes est
variable (string, int, bool, ...)
- le nombre de ligne, de colonnes et la nature des colonnes n'est pas
connu lors de la compilation du programme.
- ouf ...



la meilleure, je ne sais pas. Moi je ferais un truc du genre :

template <class Elt>
class TAB2D
{
std::vector< std::vector<Elt> > Tab;
....
};

Avatar
Fabien LE LEZ
On Tue, 22 Jun 2004 19:27:38 +0200, "Alexandre"
:

template <class Elt>
class TAB2D
{
std::vector< std::vector<Elt> > Tab;


"la nature des colonnes n'est pas connue lors de la compilation du
programme"


--
schtroumpf schtroumpf

Avatar
Jean-Sebastien Mouret
writes:

Quelle est la meilleure structure pour stocker en mémoire des données
qui représentent un tableau 2D :
- le nombre de ligne du tableau est variable.
- le nombre de colonne est variable, la nature des colonnes est
variable (string, int, bool, ...)
- le nombre de ligne, de colonnes et la nature des colonnes n'est pas
connu lors de la compilation du programme.
- ouf ...



boost::multi_array< boost::any, 2>


--
js

Avatar
Jean-Sebastien Mouret
Jean-Sebastien Mouret writes:

writes:

Quelle est la meilleure structure pour stocker en mémoire des données
qui représentent un tableau 2D :
- le nombre de ligne du tableau est variable.
- le nombre de colonne est variable, la nature des colonnes est
variable (string, int, bool, ...)
- le nombre de ligne, de colonnes et la nature des colonnes n'est pas
connu lors de la compilation du programme.
- ouf ...



boost::multi_array< boost::any, 2>



dsl de l'echo, j'avais pas vu les replys


--
js


Avatar
Alexandre
"Fabien LE LEZ" a écrit dans le message de
news:
On Tue, 22 Jun 2004 19:27:38 +0200, "Alexandre"
:

template <class Elt>
class TAB2D
{
std::vector< std::vector<Elt> > Tab;


"la nature des colonnes n'est pas connue lors de la compilation du
programme"


exact. Alors à moins de coder une classe ancêtre des colonnes possibles (ou
un truc type variant)...