;Tout d'abord, je créer mon arbre
#include <array.au3>
Global $TREE[3]
Global $rac[3]
$rac[0]="11"
Local $node[3]
$node[0]="8"
Local $nida[3]
$nida[0]="5"
Local $noda[3]
$noda[0]="10"
$node[1]=$nida
$node[2]=$noda
Local $nide[3]
$nide[0]="14"
local $mias[3]
$mias[0]="13"
Local $minos[3]
$minos[0]="15"
$nide[1]=$mias
$nide[2]=$minos
$rac[1]=$node
$rac[2]=$nide
Global $text=""
MsgBox(0,"",_Affiche($rac))
Func _Affiche($noeud)
_ArrayDisplay($noeud)
If IsArray($noeud) Then
$text&=$noeud[0]&";"
_Affiche($noeud[1])
_Affiche($noeud[2])
EndIf
Return $text
EndFunc
Le soucis est que je dois déclarer chaque tableaux, et c'est lassant alors que je n'ai que 7 valeurs.. Un moyen plus rapide est t-il envisageable?
Merci d'avance!
Modifié en dernier par sozary le dim. 09 nov. 2014 15:21, modifié 1 fois.
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
_PutInTree("13","15","14",$rac)
Func _PutInTree($Value1,$Value2,$pValue,$aDest)
If IsArray($aDest) Then
If $aDest[0]=$pValue Then
Local $node[3],$noda[3]
$noda[0]=$Value2
$node[0]=$Value1
$aDest[1]=$noda
$aDest[2]=$node
Return
Else
_PutInTree($Value,$branche,$pValue,$aDest[1])
_PutInTree($Value,$branche,$pValue,$aDest[2])
EndIf
EndIf
EndFunc
Mais bizarrement la valeur 13 ne veut pas s'ajouter... Ceci est une modification, avant la fonction prenais en paramètre uniquement la valeur d'un noeud, et la fonction ajoutais ce noeud. Cela marchais avec 15, mais avec 13 nan! D'ou les changements-test effectués
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
En effet... J'ai le même code, je sais pas pourquoi cela avait planter ..!
Merci quand même à vous deux!
P.S: Orax, dans ton code, dans la fonction _PutInTree(), quand tu l'appelles deux fois, la deuxième fois, n'écris pas "_PuteInTree" ! Ce petit lapsus !
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli