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

  FORUM HardWare.fr
  Programmation
  C

  [C] Formule pour trouver un offset

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Formule pour trouver un offset

n°992633
furious92
Pas de baskets !
Posté le 24-02-2005 à 17:22:39  profilanswer
 

Salut tout le monde,
 
voilà, je suis en train de lire un bouquin pour apprendre le C, et là je bloque, car ils donnent une formule pour calculer l'offset de n'importe quel index d'un tableau multidimensionnel, mais c'est incompréhensible à mes yeux, tout comme la formule qu'ils donnaient dans ce même bouqin pour calculer la taille d'un tableau, j'avai trouvé plus simple sur le net, mais là pour ce qui est de l'offset je trouve pas.
 
Ils donnent par exemple pour un tableau k [i][j] :
 
 Adresse de k[i][j] = adresse du début de k + i * taille de k[i] (en    octets) + j * taille du type des éléments du tableau (en octets)  
= adresse du début de k + i * nombre d'éléments de la seconde dimension * taille du type des éléments du tableau (en octets) + j $ taille du type des éléments du tableau (en octets)
 
Avec deux valeurs concrètes de notre tableau k, et à supposer que le type int occupe 2 octets, celà donne :  
Adresse de k[i][j] = &k[0][0] + i * 4 * 2 + j * 2 = 1000 + i * 4 * 2 + j * 2
 
Donc j'en sais rien pour vous, mais moi franchement j'y comprend rien du tout à leur charabia... [:noxauror]
Quelqu'un aurait une formule plus simple ?? :??:


Message édité par furious92 le 24-02-2005 à 17:32:18
mood
Publicité
Posté le 24-02-2005 à 17:22:39  profilanswer
 

n°992636
skeye
Posté le 24-02-2005 à 17:26:53  profilanswer
 

bah c'est tout bête hein comme formule...:o
fais un dessin...


---------------
Can't buy what I want because it's free -
n°992639
furious92
Pas de baskets !
Posté le 24-02-2005 à 17:30:45  profilanswer
 

J'avoue que je suis une grosse bouse en math mais c'est pas un peu le merdier quand même leur truc là ??
Z'avez pas des sites avec des méthodes plus simple là ?
J'arrive pas à me faire l'image du truc dans la tête et ça bloque. :cry:

n°992645
skeye
Posté le 24-02-2005 à 17:36:16  profilanswer
 

furious92 a écrit :

J'avoue que je suis une grosse bouse en math mais c'est pas un peu le merdier quand même leur truc là ??
Z'avez pas des sites avec des méthodes plus simple là ?
J'arrive pas à me faire l'image du truc dans la tête et ça bloque. :cry:


Bon...k c'est un tableau à deux dimensions, on est d'accord?
 
Problème : la mémoire n'en a qu'une de dimension. On est toujours d'accord?
=> tout se suit (ie on a les lignes de ton tableau 2D bout à bout), donc pour calculer la position d'un élément par rapport au début, il faut calculer la taille de tout ce qu'il y a avant. Tu suis toujours?
 
Pour k[i][j], on a quoi avant?
Toutes les lignes qui sont avant celle en cours (donc i-1 lignes), et tous les éléments avant k[i][j] dans la ligne courante (donc j-1 éléments).
 
Je te passe le calcul du nombre d'éléments dans la ligne...et on doit retomber sur tes formules, si j'ai pas écrit de conneries et qu'elles ne sont pas fausses.


Message édité par skeye le 24-02-2005 à 17:36:51

---------------
Can't buy what I want because it's free -
n°992646
furious92
Pas de baskets !
Posté le 24-02-2005 à 17:36:22  profilanswer
 

Bon je vais tenter de comprendre, je sais pas pourquoi mais je bloque connement sur ce truc là...
 
Merci en tout cas. :jap:


Message édité par furious92 le 24-02-2005 à 17:40:39
n°992652
skeye
Posté le 24-02-2005 à 17:40:55  profilanswer
 

furious92 a écrit :

Bon je vais tenter de comprendre, je sais pas pourquoi me ije bloque connement sur ce truc là...
 
Merci en tout cas. :jap:


ya une erreur...c'est la taille (en nombre d'éléments) d'une ligne du tableau là normalement, si j'ai pas lu trop vite...


Message édité par skeye le 24-02-2005 à 17:41:22

---------------
Can't buy what I want because it's free -
n°992665
furious92
Pas de baskets !
Posté le 24-02-2005 à 18:05:34  profilanswer
 

D'ailleurs j'avai capté une autre erreur dans ce même bouquin, et là ce qui m'étonne c'est le 4, pourquoi il fait 4 le k[i] là ?? C'est un char donc il devrait faire 1 non ??
D'ailleurs ils ne font qu'expliquer avec des tableaux du genre K[3][4], et d'un coup là ils te balancent des tableaux avec des lettres au lieu de chiffre j'y comprend plus rien. :fou:
C'est quoi ces tableaux avec des lettres là ??

n°992705
skeye
Posté le 24-02-2005 à 18:46:11  profilanswer
 

furious92 a écrit :

D'ailleurs j'avai capté une autre erreur dans ce même bouquin, et là ce qui m'étonne c'est le 4, pourquoi il fait 4 le k[i] là ?? C'est un char donc il devrait faire 1 non ??


 
k[i] est une ligne de ton tableau, sa taille est donc taille d'un élément * longueur de la ligne.
 

furious92 a écrit :

D'ailleurs ils ne font qu'expliquer avec des tableaux du genre K[3][4], et d'un coup là ils te balancent des tableaux avec des lettres au lieu de chiffre j'y comprend plus rien. :fou:
C'est quoi ces tableaux avec des lettres là ??


Bah les lettres c'est pour avoir un peu d'abstraction...c'est apsplus mal!:o


---------------
Can't buy what I want because it's free -
n°993394
furious92
Pas de baskets !
Posté le 25-02-2005 à 12:23:34  profilanswer
 

Ha bah c'est plus simple là.
Puis un pote m'a expliqué par le biais du tableau blanc MSN là, en fait c'était le coup des lettres là que j'arrivai pas à cerner, mais sinon c'est pas dur en fait...
C'est comme d'habitude, quand l'explication est simple on comprend, car bon dans le bouquin là j'ai trouvé que c'était un peu vague...
 
Merci en tout cas. :jap:


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

  [C] Formule pour trouver un offset

 

Sujets relatifs
Quelqu'un saurait où trouver ce script de navigation ?Ou trouver des gifs pour un jeux-videos ?
[C OpenGL] Ou trouver les sources de Quake 2 ?[Win 32]trouver le nom d'une police
Ou trouver script module infoTrouver un mot dans une chaine de caracteres
[CVS] Où trouver un bon hebergeur gratuit pour un projet non-libre?Trouver l'addresse du point d'entrée d'un exe
[VBA Excel] Trouver la derniere ligne de la derniere page impriméetrouver le chemin d'un fichier
Plus de sujets relatifs à : [C] Formule pour trouver un offset


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