1

Salut,

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 ?)
Le gentil timide du 64

2

C'est bon j'ai trouvé : la réponse était déja dans ma question finale ---> déclarer i en local.
Le gentil timide du 64