aula 104

Como gerar números aleatórios com a função rand() dentro de um intervalo específico?

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

Na aula anterior vimos como fazer a geração de valores aleatórios para preencher nossos vetores com as funções rand() e srand(). Os valores gerados podem varia bastante, desde números pequenos até aproximadamente 38 mil.

Como então gerar números aleatórios dentro de um intervalo específico, como por exemplo entre 0 e 99?

Isso é bem simples e pode ser feito com o operador matemático de resto da divisão (%), assim.

// gerando valores entre 0 e 99
rand() % 100;

Ao fazer a operação de resto, não importa o valor do número gerado, o resto da divisão por 100 será SEMPRE um número entre 0 e 99, respeitando assim o intervalo definido.

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

int main() {

    int i;
    int num2[40];

    srand(time(NULL));

    for(i = 0; i < 40; i++)
        num2[i] = 1 + rand() % 99;

    printf("\n\n");
    for(i = 0; i < 40; i++)
        printf("%d ", num2[i]);
    printf("\n\n");

    return 0;
}

Deixe um comentário

5 × 4 =

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.