ce qu’il te faut, c’est une fonction recursive, c’est e-vi-dent, mais laquelle… ca aussi, c’est e-vi-dent (j’fais bien le lourd hein ? le mec qu’étale sa science sans expliquer… ah que c’est facile d’être prof à la fac, pourquoi j’ai pas fait ca, mon dieu).
La où ton raisonnement n’a surement pas pu aboutir, c’est parceque le premier tableau à 2 dimensions est un cas particulier (y’a toutes les lettres, et en plus, dans ton exemple, tu n’a pas pris qqchose au hasard, tu as pris des lettres de l’alphabet qui se suivent).
LA fonction qu’il te faut, c’est la fonction qui, à partir d’une liste d’elements et d’une longueur ‘n’, te renvoie toutes les combinaisons de ‘n’ elements (quand je dis que c’est évident).
Mais où c’est que je case la récursion ?
Et bien toutes les combinaisons de ‘n’ elements, correspond en fait à toutes les combinaisons formées par 1 des elements suivi de toutes les combinaisons d’au plus ‘n-1’ elements avec pour liste d’entrée la même liste mais en enlevant l’élément déjà choisi… oula… j’suis pas clair.
toutes les combinaisons à 3 elements à partir de A,B,C,D c’est
A|BC
A|BD
A|CB
A|DB
A|B
A|C
A|D
A
B|AC
B|AD
B|CA
B|DA
B|A
B|C
B|D
B
C|AB
C|AD
C|BA
C|DA
C|A
C|B
C|D
C
D|AC
D|AD
D|CA
D|DA
D|A
D|B
D|C
D
soit A suivi de toutes les combinaisons de 2 elements (ou moins) à partir de B,C,D; plus B suivi de toutes les combi de 2 elt (ou moins) à partir de A,C,D; plus C suivi toutes les combi de 2 elt (ou moins) à partir de A,B,D; et enfin D suivi toutes les combi de 2 elt (ou moins) à partir de A,B,C
Là j’ai pas mis la limite à 2 elt minimum, vu que ca simplifie carrement l’algo (combinaisons à 1 lettre à partir de A,B,C… pfiou… dur… alors qu’avec 2 lettres, tu va doubler la taille de la fonction ! ie. passer de 3 à 6 lignes
)
Suivant ce que tu veux faire du résultat, il sera très certainement préférable de passer également, en entrée de la fonction, les lettres déjà selectionnées (sinon faut prendre le résultat de la fonction et refaire un autre tableau en rajoutant ta lettre à chaque fois, et ca recursivement, ca te fais une usine à gaz aussi lente qu’un steak qui glisse sur un plat de nouilles. Oui, je sais, ca veut rien dire).