Bonjour à tous ,
Je bosse actuellement sur un projet de développement en rapport avec les poisson , bref ça on s'en fou
J'ai besoin d'aide en ce qui concerne l'affichage d'un arbre par niveau ou couche
voici mon code pour afficher
et voici le code qui gere la file (pour parcourir l'arbre)
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 void plargeur(Tree * a) { // if(a==NULL) // { // return ; // } File **f; file_enqueue(f,a->root); while(f!=NULL) { Tree *e;double noeud=0; noeud= file_dequeue(f); printf("%f\n",noeud); if(e->left_child!=NULL) { file_enqueue(f,(e->left_child)->root); } if(e->right_child!=NULL) { file_enqueue(f,(e->right_child)->root); } } }
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 #include <iostream> #include <string> using namespace std; typedef struct File { double donnee; struct File *suivant; } File; void file_enqueue(File **p_file,double donnee) { File * p_nouveau =( File *) malloc(sizeof (File)); if (p_nouveau != NULL) {printf("prout\n"); p_nouveau->suivant = NULL; p_nouveau->donnee = donnee; if (*p_file == NULL) { *p_file = p_nouveau; } else { File *p_tmp = *p_file; while (p_tmp->suivant != NULL) { p_tmp = p_tmp->suivant; } p_tmp->suivant = p_nouveau; } } } double file_dequeue(File **p_file) { double ret = -1; /* On teste si la file n'est pas vide. */ if (*p_file != NULL) { /* Création d'un élément temporaire pointant vers le deuxième élément de la file. */ File *p_tmp = (*p_file)->suivant; /* Valeur à retourner */ ret = (*p_file)->donnee; /* Effacement du premier élément. */ free(*p_file), *p_file = NULL; /* On fait pointer la file vers le deuxième élément. */ *p_file = p_tmp; } return ret; }
L'erreur est une erreur de segmentation , l'erreur vient peut-etre du pointeur File ** f qui n'est pas init je ne sais pas j'attend votre aide merci à tous![]()
Partager