Toutes les combinaisons d'un tableau à 2 dimensions? [algo] - PHP - Programmation
Marsh Posté le 14-12-2011 à 10:48:37
fonctions récursives, 3 lignes. tu connais ? c une fonction qui s'appelle elle même.
en gros elle reçoit un tableau et une chaine.
a chaque boucle, le tableau doit depiler, la chaine doit empiler et faut une condition pour s'arreter
Marsh Posté le 14-12-2011 à 19:22:59
Je pensais bien à quelque chose dans ce goût-là, mais je n'arrive à rien.
Je suis plutôt parti dans le sens de faire x chaines dans un tableau s'il faut x combinaisons, et de remplir ces x chaines au fur et à mesure. C'est moins propre mais je n'arrive pas autrement!
Marsh Posté le 14-12-2011 à 22:16:22
Essaie ça :
Soit LEN la longueur du grand tableau Tab.
On crée un tableau Index de la taille Len qui contiendra les indices courants des differents sous tableaux du tableau principal Tab
Ce tableau Index est intialisé à 0 (si les indices de tableaux dans ton langage commencent à 0).
n sera l'indice courant dans le tableau Index.
debut |
Marsh Posté le 15-12-2011 à 08:33:41
voici un exemple de fonction recursive :
Code :
|
et tu l'appelles avec
Code :
|
$a c'est ton tableau
Marsh Posté le 15-12-2011 à 09:44:21
Trap D, ça ressemble à ce que j'ai fait, je vais essayer de terminer comme ça.
rengzehn, je vais essayer aussi parce que c'est joli en récursif et je ne suis pas très à l'aise avec cette méthode!
Merci à vous 2.
Marsh Posté le 13-12-2011 à 17:42:35
Bonjour,
Ça parait facile, mais c'est un vrai casse-tête!
J'ai un tableau dont chaque case contient un tableau, on ne sait bien sûr pas le nombre de cases dans les 2 cas. Je n'ai besoin que des n° de case mais je dois écrire toutes les combinaisons possibles.
Exemple, un print_r() donne pour le tableau d'entrée:
Array
(
[1] => Array
(
[1]
[2]
)
[2] => Array
(
[1]
[2]
[3]
[4]
[5]
)
[3] => Array
(
[1]
)
[4] => Array
(
[1]
[2]
)
)
Résultat recherché:
1,1,1,1
2,1,1,1
1,2,1,1
1,3,1,1
1,4,1,1
1,5,1,1
1,2,1,2
1,3,1,2
1,4,1,2
....
en tout 20 combinaisons possibles puisque 2*5*1*2 éléments...
Message édité par Daxorp le 13-12-2011 à 17:43:03
---------------
Daxorp - Portail Kiao