Bonjour,

J'ai une structure dans laquelle j'ai créer une tableau d'élement d'une liste qui est dynamiquececi est une contraite venant de mon simulateur que je ne peux pas en aucun cas écarte. Le format est donnée ci-dessous:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 
typedef  struct _cord _t   cord_t  *cord_pt;
typedef  struct _point_arbre_t   point_arbre_t  *point_arbre_pt;
typedef  struct _voisin_t  voisin_t   *voisin_pt;
typedef  struct _donne_t donne_t   *donne_pt;
 
struct _cord_t {
   double  x;
   double  y;
   double  z;
};
 
struct _voisin_t {
    int identite;
    cord_pt position_voisins;
};
 
struct _point_arbre_t {
  int id;
  int Nfils;
  cord_pt position;
  int taille_tab;
  voisin_pt  tab;
};
 
 
fin format structure.
 
 
//Nb : nombre d'elements du tableau
 
//paquet_pt pour former un paquet de donner à expèdier au voisins
 
paquet_pt  paquet = malloc(sizeof(struct _donne_t)  + Nb*sizeof(_point_arbre_)) ;
point_arbre_pt donnee  = (struct point_arbre *) paquet;
 
//affectation 
 
donnee->id  = 1;
donnee->Nfils = 4;
donnee->position->x = cord_en_x;
donnee->position->y = cord_en_y;
donnee->position->z = cord_en_z;
donnee->taille_tab    = valeur_connu
 
//Pour la suite voila comment je procède pour remplir le tableau
 
voisin_pt voisin = (struct _voisin_t *) (2*sizeof(int) + sizeof(struct _cord_t));
 
// ceci fait pointe le pointeur sur l'element l'élement suivant après les affections prècedentes
 
// le   neoud parcourt la liste des voisins en remplissant maintenant le table voisins.
for(i = 0; i < valeur_connu; i++) {
voisin[i].identite  = val_connu;
voisin[i]->position_voisins.x = val_connu;
voisin[i]->position_voisins.y = val_connu;
voisin[i]->position_voisins.z = val_connu;
}
Ainsi se termine la phase de remplissage de mon paquet, si j'essaie d'afficher par la même façon sauf que pour le tableau j'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
for(i= 0; i < valleur_connu; i++) {
voisin_pt voisin = (struct _voisin_t *) (s*sizeof(int) + sizeof(struct _cord_t) + (i + 1)*sizeof(struct _voisin_t));
 
je n ai pas les meme résulats et pour le dernier élement il affiche des valeur très bizzard !!, très grand.
 
}
Voila grosso mode ce que ça ressemble la partie qui me bloque.
Est que quelqu'un arrive avoir quoi sait le problème car je galère sur ça.
Merci