Bonjour tout le monde,

Je souhaite réaliser les combinaisons de n listes de tailles différentes (le nombre de caractères par combinaison est égal à n aussi), par exemple si pour n=3 j'ai les listes suivantes:
l1={a, b, c} ; l2={c, d} et l3={f, j}
Je voudrais pouvoir afficher:
acf
acj
adf
adj

bcf
bcj
bdf
bdj

ccf
ccj
cdf
cdj

Vous me direz j'imbrique 3 for et le tour est joué! Cependant je veux que ma fonction puisse faire cela pour n ensembles donnés en pamaramètre: il faut donc que je fasse un appel récursif, mais je n'arrive pas à trouver comment faire...

Voici un exemple réalisé en imbriquant des boucles for (itératif) pour n=3:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
	for(i=0; i<liste[0]->size; i++)
		for(j=0; j<liste[1]->size; j++)
			for(k=0; k<liste[2]->size; k++)
			{
				printf("%c", listIth(liste[0], i+1) );
				printf("%c", listIth(liste[1], j+1) );
				printf("%c", listIth(liste[2], k+1) );
			}
PS: liste[] est un tableau de n listes (il a donc une taille n)
char lislth(List list, int i) est une fonction qui me retourne la ième valeur de la liste


Merci d'avance