bonjour,
comment peut on calculer l'adresse de nimporte quelle composante d'un tableau multidimensionnel connaissant l'adresse de la premiére composante?..
merci d'avance!
bonjour,
comment peut on calculer l'adresse de nimporte quelle composante d'un tableau multidimensionnel connaissant l'adresse de la premiére composante?..
merci d'avance!
Salut,
Je dois etre devenu un habitué pasque je remarque du premier coup d'oeil lorsqu'un noobie donne pas assez de détails sur son problème ^^
Je peut te conseiller de lire ce lien http://club.developpez.com/regles/
Sinon pour ton problème : tu code en quel langage ? c'est un problème d'implémentation ? Car en fait tu es dans le forum algorithmique ici.
A+
Tu peux tenter de soustraire les adresses mémoire de deux éléments consécutifs et de vérifier si le résultat de cette opération te donne le bloc mémoire nécessaire pour la déclaration de telle ou telle variable...
Mais c'est très moyen et extrêmement lié au langage et à l'architecture...
excuser moi! je vais reformuler (poser le problem tel qu'il est)
en faite c'est pour mon cour d'algorithmique,
j'ai un tableau multidimensionel
A[L1...M1,L2...M2,L3.....M3,.......,.........,.......,Ln........Mn] on supose que chaque element du tableau occupe 1mot,et une representation ligne par ligne des elements.
mon probleme est de rechercher l'adresse de nimporte quelle composante du tableau en suposant que alpha soit l'@ du premier element du tableau alpha=@A[1,1,.......1]
je sais vrément pas comment faire svp aidez moi!!
je vous remerci d'avance et encor une fois désolé!![]()
En fait, connaissant l'adresse mémoire M1 du premier élément et que les lignes ont la même taille, l'adresse de n'importe quel élément est assez simple, en fait le i-ème élément est à l'adresse
M1 + i
Si ton tableau est bidimentionnel et que tu veux l'adresse de la case aux coordonnées tab[4][3] (quatrième case de la troisème ligne), il faut faire simple calcul qui est ((3-1)*longueur d'une ligne) + 4). Histoire de simuler un tableau unidimentionnel avec chacune des lignes les unes derrières les autres.
Avec ca, l'adresse de n'importe quelle case c'est : Adresse du premier + (taille d'un element * le nombre de case pour y arriver).
Bonjour,
Si on a une matrice de n dimensions de taille (L1*L2*.......*Ln), et on veut calculer l'adresse d'un element A à la position (A1,A2,........,An), sachant que l'adresse du premier element (1,1,1,1....,1) est de x, on a:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 adresse=x+(An-1)*(L(n-1)*L(n-2)*...*L2*L1)+ (A(n-1)-1)*(L(n-2)*L(n-3)*.....*L2*L1)+ ..........+ ..........+ (A3-1)*L2*L1+ (A2-1)*L1+ (A1-1) c.à.d : _n \ ___i-1 adresse= x+ /_ | | Lj*(Ai-1) i=1 j=1
merciiiiiiiii!!!! merci pour vos réponces!
Partager