aula 110

Como preencher uma matriz gerando números aleatórios com as funções rand() e srand()?

Seja muito bem vindo à aula 110 do nosso curso gratuito de programação com a linguagem C.

BAIXE AQUI A LISTA DE EXERCÍCIOS PARA AS PRÓXIMAS AULAS.

Assim como fizemos com os vetores, podemos gerar números aleatórios para preencher uma matriz com as funções rand() e srand(), lembrando que, para que realmente sejam gerados valores diferentes em cada execução precisamos passar como semente a hora do computador, assim:

int i, j, mat[3][4];

srand(time(null));

for(i = 0; i < 3; i++){
   for(j = 0; j < 4; j++)
      mat[i][j] = rand();
}

Se desejamos valores apenas entre 0 e 999, como já vimos, podemos utilizar a operação matemática de resto da divisão, assim:

// gerando valores entre 0 e 999
mat[i][j] = rand() % 1000;

Código completo

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {

    int i, j, mat1[3][3] = {11,12,13,14,15,16,17,18,19};

    srand(time(NULL));

    for(i = 0; i < 3; i++){
        for(j = 0; j < 3; j++){
            mat1[i][j] = rand();
        }
    }

    for(i = 0; i < 3; i++){
        for(j = 0; j < 3; j++)
            printf("%5d ", mat1[i][j]);
        printf("\n");
    }

    printf("\n--> %d\n", RAND_MAX);

    return 0;
}

Deixe um comentário

onze − 2 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.