Skip to content

Instantly share code, notes, and snippets.

@marcoscastro
Created February 7, 2014 19:48
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save marcoscastro/8870374 to your computer and use it in GitHub Desktop.
Save marcoscastro/8870374 to your computer and use it in GitHub Desktop.
Exemplo que gera números aleatórios dados os limites superior e inferior.
// Exemplo de geração de números aleatórios
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/*
A função gerar_numero() retorna um número aleatório
que pertence ao intervalo [lim_inf, lim_sup]
Os dois parâmetros da função são lim_inf que representa
o limite inferior do intervalo e lim_sup que representa
o limite superior.
*/
int gerar_numero(int lim_inf, int lim_sup)
{
// a função rand() gera um inteiro aleatório
return (lim_inf + (rand() % lim_sup));
}
int main(int argc, char *argv[])
{
/*
Para que a cada execução do programa novos números
sejam gerados, então utilizamos o valor retornado pela
função time. Isso permite que a sequência seja diferente.
Passamos NULL para a função time porque não é necessário
armazenar o valor de retorno da função.
A função srand() recebe um argumento sem sinal (unsigned).
Isso serve para termos uma sequência diferente a cada execução,
ou seja, garante de fato a aleatoriedade. Para que o usuário não
precise fornecer a semente da sequência, então passamos uma função
que retorna o valor do relógio que é a função time().
*/
srand(time(NULL));
// mostrando 5 números gerados aleatoriamente no intervalo [1, 10]
printf("Numero gerado: %d\n", gerar_numero(1, 10));
printf("Numero gerado: %d\n", gerar_numero(1, 10));
printf("Numero gerado: %d\n", gerar_numero(1, 10));
printf("Numero gerado: %d\n", gerar_numero(1, 10));
printf("Numero gerado: %d\n", gerar_numero(1, 10));
printf("Numero gerado: %d\n", gerar_numero(1, 10));
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment