How to generate N pairs of random digits in C++

1 Answer

0 votes
#include <iostream>
#include <random>
#include <vector>
#include <utility> // for std::pair

// Function to generate N random digit pairs
std::vector<std::pair<int, int>> generateRandomPairs(int N) {
    std::vector<std::pair<int, int>> pairs;

    // Create a random number generator seeded with a random device
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> dist(0, 9); // Digits from 0 to 9

    for (int i = 0; i < N; ++i) {
        int firstDigit = dist(gen);
        int secondDigit = dist(gen);
        pairs.emplace_back(firstDigit, secondDigit);
    }

    return pairs;
}

int main() {
    int N = 15; // Number of pairs

    std::vector<std::pair<int, int>> digitPairs = generateRandomPairs(N);

    std::cout << "Random pairs of digits:\n";
    for (const auto& p : digitPairs) {
        std::cout << "(" << p.first << ", " << p.second << ")\n";
    }
}




/*
run:
 
Random pairs of digits:
(6, 0)
(3, 0)
(9, 1)
(0, 7)
(1, 8)
(0, 0)
(0, 4)
(2, 4)
(6, 0)
(3, 9)
(8, 9)
(1, 9)
(6, 5)
(1, 4)
(6, 7)
 
*/

 



answered Aug 11, 2025 by avibootz
edited Aug 11, 2025 by avibootz
...