Ajude nosso projeto a se manter online.

Como gerar vários números aleatórios inteiros em C++

Você já deve ter aprendido a gerar números aleatórios usando as funções rand(), srand() e time():
https://www.cmmprogressivo.net/2019/12/Como-Gerar-Numeros-Aleatorios-Randomicos-rand-srand.html

Porém, experimente aplicar um LOOPING e gerar várias vezes, de maneiras seguidas: vai dar problema, vai dar o mesmo número!

A solução com rand() é recomendada se você for gerar somente uma vez um número aleatório, ou com espaçamento de vários segundos, entre uma geração e outra.

Para gerar vários números seguidos, até milhões, recomendamos usar a library random, da seguinte maneira:
#include <iostream>
#include <iomanip>
#include <random>
using namespace std;

int gen_number()
{
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> dis(1, 6);

    return dis(gen);
}

int main()
{
    int aux;

    for(aux=0 ; aux<1000 ; aux++)
        cout<<gen_number()<<endl;

    return 0;
}
Note que vai gerar números de 1 até 6 (simulando um lançamento de dados, por exemplo).
Se quiser outros intervalos, basta alterar o (1,6) para um range que você deseja.

Referência: https://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution

Nenhum comentário:

Postar um comentário