C++: De Aprendiz a Mestre! – Random Numbers

Posted by admin on 4 de Dezembro de 2013 | Filed under C++: De Aprendiz a Mestre!

Aprender a programar passa sempre por experimentar código, aprendendo e percebendo o que ele faz na realidade. Não podemos limitar-nos a ler o código e “decorar” o que ele possívelmente fará.

Hoje experimentei 2 casos para a obtenção de números aleatórios.

Obter apenas 1 número aleatório:

1
2
3
4
5
6
7
8
9
10
#include<iostream> 
#include<cstdlib>
 
 using namespace std;
 
 int main()
 {
        int random_number = rand();
        cout < < random_number << endl;
 }

Para a obtenção de números aleatórios usamos a função rand() que nos permite gerar um número aleatório sem qualquer restrição.

Obter vários números aleatórios:

Usando um ciclo for:

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream> 
#include<cstdlib>
 
 using namespace std;
 
 int main()
 {
        for (int i = 0; i < 5; i++)
        {
                int random_number = rand();
                cout << random_number << endl;
        }
 }

Usando um ciclo while:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream> 
#include<cstdlib>
 
 using namespace std;
 
 int main()
 {
        int i = 0;
 
        while(i < 5)
        {
                int random_number = rand();
                cout << random_number << endl;
 
                i++;
        }
 }

Para obtermos vários números aleatórios basta adicionar um ciclo for ou while ao código já apresentado.

No entanto é possível também gerar números aleatórios num intervalo bem definido.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <cstdlib> 
#include <ctime> 
#include <iostream>
 
using namespace std;
int main() 
{ 
    srand((int)time(0)); 
    int random_number; 
 
    for(int i = 0; i < 5; i++)
    { 
        random_number = (rand()%10) + 1; 
        cout << random_number << endl; 
    } 
}

Neste exemplo vamos gerar 5 números aleatórios compreendidos entre o intervalo [0 e 10].

Share

One Response to “C++: De Aprendiz a Mestre! – Random Numbers”

  1. Rui Saraiva Says:

    A função srand() nada tem a ver com intervalos de números, apenas inicializa o gerador de números (pseudo) aleatórios rand(). Pode, e deve (para que a sequência seja sempre diferente), ser usada nos primeiros exemplos.
    O que define o limite/intervalo é o operador %, que dá o módulo ou resto da divisão inteira, que no exemplo, com o +1, dá um inteiro entre [1, 10].

Leave a Reply