Bonjour,
dans le cadre d'un projet de robotique, je suis amenée à pousser à bout mes connaissances en C, mais je fais malheureusement face à un problème insoluble pour moi...
Après avoir isolé le problème, je me permet de vous le soumettre dans le cas où quelqu'un l'aurait déjà rencontré.
Le code consiste en la création d'une structure d'arbre dont chaque noeud contient une coordonnées et 20 fils inclus dans une liste.
Un élément de ce type est envoyé dans une sous-fonction pour modifier la coordonnée de ses fils.
C'est lors de la modification de la coordonnée qu'il plante.
Le compilateur ne trouve aucune erreur, c'est lors de l'exécution que l'erreur apparait.
Voici le code complet :
Alors que cet autre code fonctionne très bien,
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 #include <stdlib.h> #include <stdio.h> typedef struct noeud { int x; struct noeud* fils[20]; }intersection; void remplir(noeud* inter); int main ( int argc, char** argv ) { noeud premiere; remplir(&premiere); return 0; } void remplir(noeud* inter) { int i; for (i=0;i<2;i++) { // l'erreur se situe à la ligne suivante (inter->fils[i])->x =0; } }
mais ce n'est pas vraiment ce que je veux...
Voila, merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 void remplir(noeud* inter) { int i,j; for (i=0;i<2;i++) { j = 2; (inter->fils[j])->x =0; } }
Partager