Comment stocker une matrice dans un tableau ?? - C++ - Programmation
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]
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
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
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 ?...
Marsh Posté le 01-05-2004 à 12:42:05
ReplyMarsh Posté le 01-05-2004 à 13:41:26
ndela a écrit : <quote>un tableau n'est pas un pointeur</quote> |
faut vraiment que j'écrives un bouquin électronique pour retrouver ce que j'ai dit
Marsh Posté le 01-05-2004 à 13:56:44
ndela a écrit : <quote>un tableau n'est pas un pointeur</quote> |
le nom d'un tableau c'est juste l'adresse de sont premier element
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
Marsh Posté le 01-05-2004 à 14:26:07
a, ben on connait la taille aussi avec l'operateur sizeof
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]
Marsh Posté le 01-05-2004 à 14:34:59
non pas une l-value
Marsh Posté le 01-05-2004 à 14:37:25
Taz a écrit : ce que tu comprends pas c'est que la conversion est implicite. |
oui ca j'ai compris, alors je me suis mal exprimer, c'est juste que cette phrase m'est commune
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.
Marsh Posté le 01-05-2004 à 14:45:49
ok merci , faudra que tu rajoute ca dans ta faq c'est le genre de truc qu'on a tendance a trop repeter
Marsh Posté le 01-05-2004 à 17:03:12
Taz a écrit : un tableau T a[N] est : |
heu pas forcement jai deja eu des cas ou le compilo me les mettait dans lautre sens sous VC 6.0
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 |
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
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
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 ... |
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