je doit construire une phrase à partir de TTreeView telque les noeud sont les opérateurs logique et les derniére feuilles sont les phrases.cela dit que mon treeview est un arbre abstrait. la meilleur solution est de faire un parcour recursif pour construire ce texte (enssemble de phrase et opérateur). j'ai siplifier le pb et je me dit il faut esseyer avec les expréssion arithmétique au debut.
voila ma fonction recursive mais je ne connai pas le pb car cette fonction est biensur fausse.
si quelqu'un peut m'aider !!!
exemple
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 //------------------------------------------------------------------------------------------ void __fastcall TForm1::Button1Click(TObject *Sender) { S=""; Edit1->Text=fonction(TreeView1->Items->GetFirstNode()); } //--------------------------------------------------------------------------- String fonction(TTreeNode *Nodef) { int i; TTreeNode *Node,*f,*l,*par; Node=Nodef; if(Node->HasChildren) { par=Node->getFirstChild(); while(par!=Node->GetLastChild()) { S=S+fonction(par)+" "+Node->Text; par=par->GetNext(); } S=S+fonction(par); return(S); } else return(Node->Text); } //------------------------------------------------------------------------------------------
*
| *
| |--+
| | |---a
| | |---b
| |
| |--+
| | |---c
| | |---d
| |
| |
|
|--/
|--e
|---f -----> ((a+b)*(c+d))*(e/f)
Partager