Bonjour,

J'ai un probleme conceptuel et je recherche de l'aide.

J'ai un vecteur qui contient egalement un certain nombre variable de vecteurs de double:
std::vector<std::vector<double> > vecteur

J'aimerais etre capable d'extraire le produit cartesien de ce vecteur, en prenant toutes les combinaisons possibles.

Par exemple, si mon vecteur contient:

< <1 , 2, 3>, <4, 5>, <6, 7> >

J'aimerais construire les combinaisons:
<1,4,6><1,4,7>,<1,5,6><1,5,7> ... <3,5,7>

Comment faire? Comme mon nombre de vector<double> est lui-meme variable, je ne peux pas utiliser un nombre fixe de boucles for. Si jamais mon vecteur devient:
< <1 , 2, 3>, <4, 5>, <6, 7>, <8> >

la meme fonction devrait m'extraire:
<1,4,6,8>,<1,4,7,8> etc...


J'ai pense creer un tableau d'iterateurs, mais est-ce la meilleure methode? Utiliser la recursivite peut-etre ?


Merci d'avance.