je voudrais réaliser un arbre dont la profondeur est paramétrable, mais dont tous les noeuds sont identiques. A savoir, pour un arbre parametré à 5, cela donnerait en pur ti-basic :
for i1 = 1 to 5 for i2 = 1 to 5 for i3 = 1 to 5 for i4 = 1 to 5 for i5 = 1 to 5 Exploitation des differents i[sub]profondeur[/sub] end for end for end for end for end for
J'ai fait un appel recursif du genre
:arbrereg(profondeur,longueur,tableau) :Prgm :@profondeur,longueur,tableau : :If profondeur = longueur+1 Then @longueur+1 : ce n'est pas une erreur de frappe, non, non :) : Disp tableau :Else : For i, 1,longueur : i->tableau[profondeur] : arbre(profondeur+1,longueur,tableau) : EndFor :EndIf : :EndPrgm
Que je lance avec arbrereg(1,5,{0,0,0,0,0}) pour une longueur de 5
Ceux qui auront tapé ce programme (en diminuant bien sûr la longueur des noms des paramètres) obtiendront sans doute :
{1,1,1,1,1} {1,1,1,1,2} {1,1,1,1,3} {1,1,1,1,4} {1,1,1,1,5}
Je pense que les for ne peuvent pas s'exécuter récursivement. S'il vous plait, pouvez-vous me dire pourquoi ? Et connaissez-vous une solution au problème ?
(Pourquoi la variable i de chaque appel n'a pas été stockée sur la pile de TIOS ?)