Wszystkie kombinacje 6 liczb z 9-elementowego zbioru

0

Hejka,

Posiadam 9 liczb (np. 2, 7, 16, 25, 31, 45, 60, 74, 82) i chciabym wypisac wszystkie 6-cio elementowe kombinacje
Liczba kombinacji to C 69 = 9!/3!(9-3)! = 84
Ale jak je najszybciej wszystkie wypisac ?
Czy ktos jest w stanie pomoc ?

Pozdrowionka,
Piter

0

Dokladnie o to chodzilo!
Podpowiedzcie prosze jak go teraz przerobic aby pasowal do mojego zagadnienia.

Pozdrawiam,
Piter

1

Nic nie trzeba przerabiać. Funkcja combination robi dokładnie to o co pytasz. Należy ją po prostu wywołać z twoimi danymi.

0

Prawde mowiac nie mam pojecia jak to zmienic ale tak czy tak wielkie dzieki i tak jestem juz duzo blizej.

0

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;
}
0

Hej,
Korzystam z tego kompilatora 'https://www.codechef.com/ide' i wyskakuja jakies bledy podczas odpalania.
Moglbys rzucic okiem ?

1

Bzdura. Ustaw kompilator C++14 i śmiga jak rącza gazela.

0

Jasny gwizdek, dziala pieknie ! Dzieki wielkie i duza Piona

Piter

1 użytkowników online, w tym zalogowanych: 0, gości: 1