O gerador de números aleatórios C ++

geradores de números aleatórios cumprir uma série de efeitos. Tudo a partir de jogos para simulações requerem um gerador de números aleatórios para funcionar corretamente. Aleatoriedade encontra o seu caminho no negócio cenários hipotéticos bem. Em suma, você precisa adicionar a saída aleatória para a sua aplicação em muitas situações.

Criando um número aleatório não é difícil. Tudo que você precisa fazer é chamar uma função de número aleatório, conforme mostrado na RandomNumberGenerator exemplo:

#incluir #include #include using namespace std-int main () {// Sempre dar um value.srand semente ((unsigned int) tempo (NULL)) - int RandomValue = rand ()% 12 cout lt; lt; "O número do mês aleatória é:" lt; lt; RandomValue + 1 lt; lt; endl-retorno 0-}

Na verdade, não é um dos geradores de números aleatórios na biblioteca padrão funciona corretamente - imaginem só! Estão todas pseudorandom geradores de números: os números são distribuídos de tal forma que parece que você vê uma sequência aleatória, mas dado o tempo e paciência o suficiente, eventualmente, a sequência se repete.

Na verdade, se você não definir um valor de semente para o seu gerador de números aleatórios, você pode obter sequências previsíveis de números de cada vez. Que aborrecido. Aqui é a saída típica deste exemplo:

O número do mês aleatória é: 7

A primeira linha de código no a Principal() define a semente usando a hora do sistema. Usando a hora do sistema assegura um certo nível de aleatoriedade do valor de partida - e, por conseguinte, um nível de aleatoriedade para a sua aplicação como um todo. Se você comentar esta linha de código, você vê a mesma saída cada vez que você executar o aplicativo.

Os usos exemplo de aplicação rand () para criar o valor aleatório. Quando você toma o módulo do número aleatório, você obter uma saída que está dentro de um intervalo específico - 12 neste caso. O exemplo termina, adicionando 1 ao número aleatório, porque não há qualquer mês 0 no calendário e, em seguida, envia o número do mês para você.

A biblioteca padrão fornece acesso aos dois tipos de geradores de números pseudo-aleatórios. O primeiro tipo exige que você definir um valor de semente. O segundo tipo requer que você forneça um valor de entrada com cada chamada e não requer um valor de semente. Cada gerador produz um tipo de dados diferentes, assim você pode escolher o tipo de número aleatório que obtiver.

A tabela lista os geradores de números aleatórios e diz-lhe que tipo de dados que saída.

Funções Pseudorandom Number Generator
FunçãoTipo de saídaSemente Necessário?
randnúmero inteirosim
drand48duplosim
erand48duplonão
lrand48longosim
nrand48longonão
mrand48assinado longasim
jrand48assinado longanão

Agora que você sabe sobre os geradores de números pseudo-aleatórios, olhar para as funções de sementes utilizadas para prepará-los. A tabela a seguir lista as funções de sementes e suas funções gerador de números pseudo-aleatórios associado.

Funções de sementes
FunçãoFunção Associated Pseudorandom Number Generator
srandrand
srand48drand48
seed48mrand48
lcong48lrand48

menu