W sumie to był tam mały błąd ale poprawiłem. Anyway
#include <iostream>
#include <vector>
#include <set>
using namespace std;
void combination(vector<int>& valuesToPrint,set<int>& valuesInSet, set<int>::iterator currentValue, int numbersLeft)
{
if(numbersLeft>0)
{
for(set<int>::iterator it = currentValue; it!=valuesInSet.end(); it++)
{
valuesToPrint.push_back(*it);
set<int>::iterator next = it;
next++;
combination(valuesToPrint,valuesInSet,next,numbersLeft-1);
valuesToPrint.pop_back();
}
}
else
{
for(vector<int>::iterator it=valuesToPrint.begin(); it!=valuesToPrint.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
}
int main()
{
set<int> valuesSet = set<int>({2, 7, 16, 25, 31, 45, 60, 74, 82}); //jedyna linijka którą miałeś zmienic...
vector<int> valuesToPrint;
combination(valuesToPrint,valuesSet,valuesSet.begin(),6); //a tutaj ustawić ile tych liczb chcesz losować...
return 0;
}