Preencha a matriz com números aleatórios C ++

Preencha a matriz com números aleatórios C ++
Matrizes são usadas para manter itens com o mesmo tipo de dados em áreas de memória seqüencial. Podemos facilmente criar matrizes de vários tipos de dados em C++. Neste artigo, trabalharemos na criação de uma matriz aleatória contendo números aleatórios em C++. Portanto, ajudará você a criar números aleatórios e armazenar o número associado em uma matriz. Usaremos a biblioteca C ++ para criar números aleatórios, que então usaremos para preencher nossa matriz.

Métodos para gerar números aleatórios em C++

A linguagem de programação C ++ inclui um gerador de números de pseudo-aleatório integrado, bem como dois métodos para gerar números aleatórios: rand () e srand (). Vamos passar pelos métodos Rand () e Srand () em profundidade.

Rand ()

Para obter um número aleatório, usamos o método rand (). Quando invocado, a função rand () em C ++ gera um número pseudo-aleatom entre 0 e Rand Max. Sempre que esse método é usado, ele utiliza um algoritmo que dá uma sucessão de números aleatórios. Não podemos considerar os números criados para serem genuinamente aleatórios porque são criados usando um algoritmo que emprega um valor de semente; Em vez disso, nos referimos a números como números pseudo-aleatórios.

Srand ()

O método srand () é freqüentemente usado em combinação com o método rand (). Se o método srand () não for usado, a semente de rand () será gerada como se Srand (1) tivesse sido usado anteriormente na configuração do programa. Qualquer outro valor de semente faz com que o gerador comece em um novo local.

Observe que, se você usar Rand () para produzir números aleatórios sem primeiro executar SRand (), seu código gerará a sequência dos mesmos números inteiros toda vez que ele for executado.

Exemplo 1

Estamos usando o método rand () para gerar números aleatórios em uma matriz de um número inteiro. Primeiro, declaramos uma variável "MyNumber" com o tipo de dados inteiro. A variável "MyNumber" leva um valor integral do usuário. Em seguida, temos uma matriz inteira "rand" e, na próxima linha, temos um ciclo de loop que gera um número aleatório sobre cada iteração usando o método rand ().

Tomamos o tamanho de uma matriz e depois definimos uma matriz desse tamanho. O método rand () gera números aleatórios, os divide por 10 e armazena o restante em uma matriz em uma posição específica. A matriz será impressa após a inicialização.

#incluir
usando namespace std;
int main ()

int myNumber;
cout<<"Enter the array size number::";
Cin >> MyNumber;
int rand [myNumber];
para (int r = 0; r; r Rand [r] = rand ()%10;
cout<<"\nArray Elements::"<para (int r = 0; r; rcout<<"Number of Elements "<retornar 0;

O resultado de números aleatórios em uma matriz inteira é mostrada na imagem a seguir.

Exemplo 2

Conforme discutido, Srand () define a semente para o método rand (). Construímos o método para preencher uma matriz com valores aleatórios usando o método srand () em c++. Primeiro de tudo, importamos a biblioteca interna C ++ “Time.H ”, que retorna o registro atual no momento em que a função é chamada. Como resultado, podemos garantir que um valor distinto seja dado ao método srand () como o parâmetro cada vez que o programa é realizado.

Então, temos outra biblioteca embutida, “Stdlib.H ”através do qual podemos acessar os métodos RAND e SRAND. Temos a principal função em que o código é colocado em ação. Criamos uma matriz como uma "matriz" de um tamanho personalizado. O tamanho da matriz será especificado pelo usuário. Em seguida, usamos o método srand e passamos o valor da semente "nulo" nele. Cada vez que executamos o programa, um conjunto aleatório e único de valores é gerado em vez dos valores repetidos.

No bloco de for loop, temos o método rand () que produzirá um número aleatório em cada ciclo de loop. O comando cout imprimirá o número aleatório do tamanho da matriz fornecida.

#incluir
#incluir
#incluir
usando namespace std;
int main ()

int snum;
cout<<"Enter number for array size: ";
Cin >> snum;
Int Array [snum];
srand (tempo (nulo));
para (int s = 0; s
int no = rand ();
Matriz [s] = não;

para (int s = 0; scout<cout<retornar 0;

O resultado do número aleatório do tamanho da matriz “4” é exibido na tela terminal do Ubuntu.

Exemplo 3

Também podemos gerar números aleatórios dentro do intervalo. No programa a seguir, implementamos o caminho para preencher uma matriz com números inteiros aleatórios dentro de uma faixa em C++. Criamos uma matriz como "arr" que levará o tamanho da matriz quando um usuário inserir.

Então, definimos o tempo de semente para "nulo" no método srand. Como o método srand é usado, o programa criará conjuntos distintos de números aleatórios cada vez que for executado. Depois disso, geramos um número aleatório dentro da faixa de 0 a 5. Usamos os operadores do módulo 5 para chamar o método rand.

#incluir
#incluir
#incluir
usando namespace std;
int main ()

int randnum;
cout<<"Enter the array size: ";
Cin >> Randnum;
int arr [Randnum];
srand (tempo (nulo));
para (int i = 0; i
int rnumber = rand ()%5;
Arr [i] = rnumber;

para (int i = 0; icout<cout<retornar 0;

Como você pode ver, o número aleatório gerado está no intervalo de 0 a 5 na seguinte parte da imagem.

Exemplo 4

Por padrão, a função rand () que vimos antes de retornar um resultado inteiro, que pode criar um estouro em alguns casos. Como resultado, podemos utilizar um flutuador ou um valor duplo em c++. Vamos gerar os números aleatórios da Float no código de exemplo a seguir convertendo o valor de retorno da função rand () em 'flutuação'.

No começo, usei uma função srand que passou um especificador de tipo de dados não assinado. Agora apenas o valor não negativo será exibido, eu.e., o valor positivo e zero, e o tempo de semente definido como nulo. Em seguida, temos uma declaração para loop, que fará o ciclo para os 10 valores aleatórios. O comando cout lança o tipo de dados float usando o método rand.

#incluir
#incluir
usando namespace std;
int main ()

cout<<"The Random numbers lies between 0 and 1:"<srand ((não assinado) tempo (nulo));
para (int n = 0; n < 10; n++)

cout << (float) rand()/RAND_MAX << endl;

retornar 0;

A saída do programa são números aleatórios que estão entre os valores 0 e 1, que são frações. Se não lançarmos o resultado de retorno do método rand () para flutuar, então 0 será obtido como o número aleatório.

Conclusão

Portanto, podemos criar números aleatórios em C ++, utilizando os dois métodos, rand () e srand (). O método srand () fornece a semente para criar números aleatórios, enquanto o método rand () fornece a sequência para os próximos números aleatórios. Discutimos os quatro códigos de ilustração para gerar números aleatórios em c++. Também mostramos como preencher números inteiros aleatórios em uma matriz dentro de um intervalo.