Oto mój kod;

To jest mój wektor:

vector<string>day1{"Monday","Tuesday","Wednesday","Thursday","Friday"};

Używam wektora w tym kodzie:

void Course::addCourse()
{
    string a;
    int b;
    int total;
    int courseAdd;
    cout<<"How many course you want to add?"<<endl;
    cin>>courseAdd;
    cout<<"Enter the name of course and number of hours.\nWARNING:For now just enter max 6 course hours"<<endl;
    for(int i=0;i<courseAdd;++i)
    {
        setCourseName(a);
        setHours(b);
        getCourseList().insert({a, b});
        total += getHours();
        getMatchMap().insert({make_pair(a,b),make_pair(day1[i],dayHours)});
    }

Chcę przetasować dni przed włożeniem mapy.i tutaj:

getMatchMap().insert({make_pair(a,b),make_pair(day1[i],dayHours)});

Jak mogę losować elementy wektorowe lub gdzie muszę to zrobić?

c++
0
sonelektrikci 26 grudzień 2019, 18:37

1 odpowiedź

Najlepsza odpowiedź

Przed pętlą możesz zrobić:

std::random_device rd;
std::mt19937 g(rd());
std::shuffle(day1.begin(), day1.end(), g);

Aby przetasować swój wektor.

3
Andreas DM 26 grudzień 2019, 16:05