;probleme
http://fr.openclassrooms.com/informatiq ... -dynamique
#include<array.au3>
#include <Math.au3>
Global $line=InputBox("","Nombre de ligne?: ")
;il y a $line($line+1)/2 entrées
$NbOfCases=($line*($line+1))/2
Func _TreeCreateRoot($value)
local $racine=[$value,"root"]
Return $racine
EndFunc
Func _TreeCreateNode1($value,$parent1)
Local $node=[$value,$parent1]
Return $node
EndFunc
Func _TreeCreateNode2($value,$parent1,$parent2)
Local $node=[$value,$parent1,$parent2]
Return $node
EndFunc
Func _TreeVision1($tree,$depth)
_ArrayDisplay($tree[$depth])
EndFunc
Func _TreeSelect($tree,$v)
Return $tree[$v]
EndFunc
Func _SearchMaxTrail($tree)
;tree
;|
;|-- tree[0]-|- Value
;| |-Parent 1
;| |-Parent 2
;|
;|-- tree[1]-|- Value
;| |-Parent 1
;| |-Parent 2
;|
;|-- tree[n]-|- Value
;| |-Parent 1
;| |-Parent 2
$k=0
Local $case[$line][2]
for $i=2 To $line
for $j=1 To $i
MsgBox(0,"",$k)
If UBound(_TreeSelect($tree,$k))<=2 Then
MsgBox(0,"","1 parent")
$case[$k][0]=_TreeSelect($tree,$k)[1]
$case[$k][1]=$k
Else
MsgBox(0,"","2 parent")
$case[$k][0]=_Max(_TreeSelect($tree,$k)[1],_TreeSelect($tree,$k)[2])
$case[$k][1]=$k
EndIf
$k+=1
Next
Next
_ArrayDisplay($case)
EndFunc
Global $pyramide[$NbOfCases]
$rac=InputBox("","racine?")
$pyramide[0]=_TreeCreateRoot($rac)
for $i=1 to $NbOfCases-1
$nbpar=InputBox("","nb de parent")
if $nbpar=1 Then
$val=InputBox("","valeur"&$i)
$pa1=InputBox("","parent 1")
$pyramide[$i]=_TreeCreateNode1($val,$pa1)
Else
$val=InputBox("","valeur"&$i)
$pa1=InputBox("","parent 1")
$pa2=InputBox("","parent 2")
$pyramide[$i]=_TreeCreateNode2($val,$pa1,$pa2)
EndIf
;_ArrayDisplay(_TreeSelect($pyramide,1))
;MsgBox(0,"",_TreeSelect($pyramide,1)[1])
Next
For $i=0 to $NbOfCases-1
_TreeVision1($pyramide,$i)
Next
_SearchMaxTrail($pyramide)