1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
string OpContexte::generer_combinaison(const vector<int>& vect,int pos)
{
string combinaison;
ostringstream oss;
//j'ai essayé de changer tous les int de cette fonction en unsigned int ou float float mais ça ne marche tjs pas
int val = pos;
int n = vect.size(); //char s;
for (int i = 0; i < (1 << n); ++i)
{
if (! (i & (1 << (val - 1))))
{
continue;
}
for (int j = 0; j < n; ++j)
{
if (i & (1 << j))
{
oss.clear();
oss << vect[j];
combinaison = oss.str();
oss<<" ";
}
}
oss<<",";
}
return combinaison;
} |