Bonjour,

J'ai un problème d'algorithmique par rapport au parcours de dossiers et fichiers mais plus particulièrement pour coder un nombre variable de boucles "pour".

Mon Problème :

J'ai à ma disposition n dossiers contenant chacun k(n) fichiers. (Chaque dossier ne contient pas forcément le même nombre de fichiers)

Je voudrais à partir de ces fichiers créer toutes les combinaisons possibles de fichiers en prenant un fichier dans chaque dossier.
Cependant la fonction que je chercher à coder devra pouvoir prendre le nombre de dossiers en paramètre. Mon problème se trouve donc à cet endroit la. En effet, avec un nombre de dossiers fixe j'avais pensé à la solution suivante :

Pour 3 dossiers A,B,C contenant respectivement Nb_fichiers_A, Nb_fichiers_B et Nb_fichiers_C fichiers :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Pour a de 1 à Nb_fichiers_A
      Pour b de 1 à Nb_fichiers_B
            Pour c de 1 à Nb_fichiers_C 
                      ....
            Fait
     Fait
Fait

En partant des dossiers :
A : FichierA_1 FichierA_2 FichierA_3 (3 fichiers)
B : FichierB_1 FichierB_2 (2 fichiers)
C : FichierC_2 FichierC_3 (2 fichiers)

Je voudrais donc obtenir les (3*2*2=12) combinaisons :
A1-B1-C1 A1-B1-C2
A1-B2-C1 A1-B2-C2
A2-B1-C1 A2-B1-C2
A2-B2-C1 A2-B2-C2
A3-B1-C1 A3-B1-C2
A3-B2-C1 A3-B2-C2
afin de réutiliser ces fichiers pour une utilisation ultérieure.

Comment faire pour avoir un nombre de dossiers variable sans recourir à une solution "moche" consistant à poser un nombre max de dossiers et faire des tests ...
Si cela peut vous être utile, j'utilise le language R pour programmer mais une solution algorithmique me permettrait d'avancer.

En espérant avoir été assez clair, Merci par avance de votre aide!

Bonne journée