Muitos programas requerem alguma forma de gerar valores aleatórios.
No C++ existe a função rand que gera números inteiros.
Escrevendo:
rand(), seguido do operador módulo e o número "máximo".
rand(), seguido do operador módulo e o número "máximo".
int random = rand() % 100;
É gerado um inteiro entre 0 e 99 e é guardado na variável random.
Como por exemplo, o valor 83.
O mínimo do rand é 0, por isso se eu quiser de 1 a 100, tenho de colocar + 1.
O mínimo do rand é 0, por isso se eu quiser de 1 a 100, tenho de colocar + 1.
int random = rand() % 100 + 1;
srand
Mas na próxima vez que o rand for chamado, vai ter o mesmo valor. Não vai ser aleatório. Isto porque não colocamos uma seed. Esta é nos permite receber valores completamente aleatórios.
Escrevendo:
srand(time(NULL));
Como estamos a utilizar a função time, temos de incluir a "biblioteca" time.h:
#include <time.h>
Programa exemplo
#include <iostream> using namespace std; int main() { int min, max; srand(time(NULL)); cout<< "Gerador de números aleatórios!" << endl << "Escolhe um mínimo: "; cin >> min; cout << "Escolhe um máximo: "; cin >> max; cout << "O número gerado foi: " << min + rand() % max << endl; return 0; }
Este programa pede dois inputs, um número máximo e um número mínimo; e gera um número aleatório entre o máximo e o mínimo.
Exemplo:
Exemplo:
Gerador de números aleatórios! Escolhe um mínimo: 7 Escolhe um máximo: 25673 O número gerado foi: 442
Referências
Sem comentários:
Enviar um comentário
Comente de forma construtiva...
Nota: só um membro deste blogue pode publicar um comentário.