Produit cartesien sur un nombre variable de vecteurs
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.