私は正常に動作しているこのコードを書きましたが、出力は常に同じです。だから、それについてランダムなことは何もありません。その理由を知りたい!仮定: 33 人の生徒 1 行目: 7 人の生徒 2 行目: 9 人の生徒 3 行目: 9 人の生徒 4 行目: 8 人の生徒
#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
using namespace std;
int main() {
vector<int> random;
for (int i = 1; i < 34; i++)
random.push_back(i);
random_shuffle(random.begin(), random.end());
for (int i = 1; i < 8; i++)
cout << random[i] << " " ;
cout << endl;
int i = 7;
int num_seats = 1;
for (int j = 1; j <=3; j++) {
while (num_seats < 10 && i < 33) {
cout << random[i++] << " " ;
num_seats++;
}
cout << endl;
num_seats = 1;
}
}