Bonsoir à tous et à toutes,
J'ai un petit problème de structre dans mon programme, c'est un peu flou, mais je n'arrive pas à debuger. Je vous explique :
Voici ma structure pas entière mais pour mon problème ça sufit...)
La procedure Push : --Push =>Empiler sur la pile
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 type T_Cell; --liste chainée type T_List is access T_Cell; type T_Stack is record --type Pile Top:T_List; Height:Natural:=0; --nombre d'element dans la pile; end record; type T_Node; --Arbre type T_Tree is Access T_Node; type T_Node is record Element:character; Left,Right:T_Tree; end record; type T_Couple is record Car:Character; Node:T_Node; end record; type T_Cell is record Element:T_Couple; Next:T_List; end record;
Arbre:=Construct(.....); --J'ai réussi a construire un arbre dont Left et Right=>Null
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 procedure Push(S:In out T_Stack; X: in T_Couple) is --EMPILE begin S.Top:=New_Cell(X,S.Top); S.Height:=S.Height+1; end Push; Arbre : T_Tree; Pile1,Pile2:T_Stack; begin [...]
Je veux Pusher cet arbre sur la pile2Ma pile1 empile bien les caractères, je veux que ma pile2 empile des arbres, d'où le type T_Couple qui me permet de Pusher sur des elements de type differents..)
Push(Pile2,Arbre); --ne fonctionne pas.
je sais que c'est faux, Arbre est de type T_Tree, T_Tree is access T_Node, et on me dit toujours que Arbre est un T_Tree alors qu'il faudrait du
T_Couple.(T_couple record avec Node:T_Node)
Je me noie un peu dans ma structure la, j'aimerai avoir un peu
d'éclaircicement...
Je vous remercie beaucoup.
Pierre-Hakim
(Hey Romu!! si t'es tjrs sur ce forum, jte passe le bonjour ancien camarade! )
Partager