Comment stocker une matrice dans un tableau ??

Comment stocker une matrice dans un tableau ?? - C++ - Programmation

Marsh Posté le 29-04-2004 à 22:58:15    

Slt tt le monde,  
 
En fait, j'aimerais savoir comment je pourrais stocker une matrice [x][y] dans un tableau.  
 
Puis je faire cela sans utiliser de pointeur ??
 
Merci de m'aider

Reply

Marsh Posté le 29-04-2004 à 22:58:15   

Reply

Marsh Posté le 30-04-2004 à 02:06:06    

1) oui
2) non
 
si tu as m[4][3] (indices de 0-3, 0-2)
tu fais un tableau de 4*3  --> v[12]
par exemple pour attendre m[3][1] tu fais v[3*3+1] --> v[10]

Reply

Marsh Posté le 30-04-2004 à 02:07:46    

bien sur tu peux faire sans pointeur. un tableau n'est pas un pointeur. un std::vector te donne une abstraction

Reply

Marsh Posté le 30-04-2004 à 02:08:22    

ok ok

Reply

Marsh Posté le 30-04-2004 à 02:12:01    

sinon il fait bon allez voir chez boost

Reply

Marsh Posté le 01-05-2004 à 10:51:04    

en fait, il s'agit de stocker plusieurs matrices differentes [3]*[3] dans un tableau à des indices différents.  
 
Pouvez m'aider sur la declaration et la manière de stocker ds la 1ere case du tableau par exemple.
 
Merci d'avance

Reply

Marsh Posté le 01-05-2004 à 11:55:07    

<quote>un tableau n'est pas un pointeur</quote>
 
?? un tableau c'est quoi en dehors d'un pointeur de début sur une zone de mémoire adressable ?...

Reply

Marsh Posté le 01-05-2004 à 12:42:05    

http://tvmet.sourceforge.net


Message édité par Joel F le 01-05-2004 à 12:42:41
Reply

Marsh Posté le 01-05-2004 à 13:41:26    

ndela a écrit :

<quote>un tableau n'est pas un pointeur</quote>
 
?? un tableau c'est quoi en dehors d'un pointeur de début sur une zone de mémoire adressable ?...

faut vraiment que j'écrives un bouquin électronique pour retrouver ce que j'ai dit

Reply

Marsh Posté le 01-05-2004 à 13:56:44    

ndela a écrit :

<quote>un tableau n'est pas un pointeur</quote>
 
?? un tableau c'est quoi en dehors d'un pointeur de début sur une zone de mémoire adressable ?...


 
le nom d'un tableau c'est juste l'adresse de sont premier element

Reply

Marsh Posté le 01-05-2004 à 13:56:44   

Reply

Marsh Posté le 01-05-2004 à 14:13:29    

skelter a écrit :

le nom d'un tableau c'est juste l'adresse de sont premier element

première nouvelle

Reply

Marsh Posté le 01-05-2004 à 14:26:07    

a, ben on connait la taille aussi avec l'operateur sizeof

Reply

Marsh Posté le 01-05-2004 à 14:33:19    

et au niveau tu typage ? est-ce que c'est une l-value ?

Reply

Marsh Posté le 01-05-2004 à 14:34:32    

skelter a écrit :

le nom d'un tableau c'est juste l'adresse de sont premier element

ce que tu comprends pas c'est que la conversion est implicite.
 
T a[N] , a est le tableau, a est convetible implicitement en T* de mnière à ce que a -> &a[0]

Reply

Marsh Posté le 01-05-2004 à 14:34:59    

non pas une l-value


Message édité par skelter le 01-05-2004 à 14:35:22
Reply

Marsh Posté le 01-05-2004 à 14:37:25    

Taz a écrit :

ce que tu comprends pas c'est que la conversion est implicite.
 
T a[N] , a est le tableau, a est convetible implicitement en T* de mnière à ce que a -> &a[0]


 
oui ca j'ai compris, alors je me suis mal exprimer, c'est juste que cette phrase m'est commune

Reply

Marsh Posté le 01-05-2004 à 14:42:12    

un tableau T a[N] est :
- une collection de taille statique N d'éléments de même type T
- ces éléments sont contigus en mémoire. Les adresses des éléments sont ordonnées dans l'ordre croissant.
- sizeof a == sizeof(T) * N
- chaque élément de a est accessible directement (en temps constant) par l'opérateur []. les éléments sont indicés sur [0; N[. le type de l'indice doit être size_t
- un tableau n'est pas un pointeur. la conversion est assurée de telle manière que a -> &a[0]
- ce n'est pas une l-value
- chaque couple (T, N) constitue un type distinct de tableau.


Message édité par Taz le 01-05-2004 à 14:46:25
Reply

Marsh Posté le 01-05-2004 à 14:45:49    

ok merci  ;), faudra que tu rajoute ca dans ta faq :D c'est le genre de truc qu'on a tendance a trop repeter

Reply

Marsh Posté le 01-05-2004 à 17:03:12    

Taz a écrit :

un tableau T a[N] est :
- ces éléments sont contigus en mémoire. Les adresses des éléments sont ordonnées dans l'ordre croissant.


 
heu pas forcement jai deja eu des cas ou le compilo me les mettait dans lautre sens sous VC 6.0 :o  
 

Reply

Marsh Posté le 01-05-2004 à 17:07:52    

euh la je vois pas ...

Reply

Marsh Posté le 01-05-2004 à 17:15:24    

red faction a écrit :

heu pas forcement jai deja eu des cas ou le compilo me les mettait dans lautre sens sous VC 6.0 :o


 
si si jme rappelle cetait pour un de mes labo (ya qq annees deja) fallait afficher les elements ainsi que leur adresse, javais ete surbris par le fait que cetait decroissant

Reply

Marsh Posté le 01-05-2004 à 17:24:25    

impossible

Reply

Marsh Posté le 01-05-2004 à 17:35:35    

kler que c'est impossible, suffit de savoir ce que fait l'operateur [] et ce qu'est un size_t

Reply

Marsh Posté le 01-05-2004 à 20:30:37    

red faction a écrit :

si si jme rappelle cetait pour un de mes labo (ya qq annees deja) fallait afficher les elements ainsi que leur adresse, javais ete surbris par le fait que mes chefs etaient incompétents ...

Reply

Marsh Posté le 01-05-2004 à 20:39:26    


 
st'une tres bonne ecole  :o  

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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