example4_reproducible_random_numbers.cpp

 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
#include <iostream>
#include <random>
#include <vector>

void generateNumbers(std::mt19937& gen, std::vector<int>& numbers, int count) {
    std::uniform_int_distribution<> dis(1, 100);
    for (int i = 0; i < count; ++i) {
        numbers.push_back(dis(gen));
    }
}

int main() {
    const unsigned int SEED = 12345;
    const int COUNT = 5;

    std::mt19937 gen1(SEED);
    std::mt19937 gen2(SEED);

    std::vector<int> numbers1, numbers2;

    generateNumbers(gen1, numbers1, COUNT);
    generateNumbers(gen2, numbers2, COUNT);

    std::cout << "First set:  ";
    for (int num : numbers1) std::cout << num << " ";
    std::cout << std::endl;

    std::cout << "Second set: ";
    for (int num : numbers2) std::cout << num << " ";
    std::cout << std::endl;

    return 0;
}
Back to std_mt19937