Created
March 5, 2011 19:04
-
-
Save nunomazer/856622 to your computer and use it in GitHub Desktop.
exemplo de geração de números aleatórios/randômicos em C
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
int main ( ) { | |
int inteiro, x; | |
printf("*** EXEMPLOS PARA USO DA FUCAO RAND ***\n\n"); | |
inteiro=rand(); | |
printf("inteiro aleatorio sem geracao de semente: %d\n",inteiro); | |
srand(25); | |
inteiro=rand(); | |
printf("inteiro aleatorio com semente fixa: %d\n\n",inteiro); | |
srand(time(0)); | |
inteiro=rand(); | |
printf("inteiro aleatorio com semente baseada no time: %d\n\n",inteiro); | |
printf("note que a partir deste ponto, depois que a funcao srand gerou a semente, \n as execucoes mostrarao numeros diferentes\n\n"); | |
inteiro = rand()%51; | |
printf ( "inteiro de 0 a 50: %d\n\n" , inteiro) ; // utilizar o operador de modulo nos garante que o | |
// resultado do resto de rand pelo divisor 51 eh um numero de | |
// 0 a 50 | |
// simular o rolar de um dado de 6 faces | |
printf ( "Simulacao de 3 jogadas para um dado de 6 faces\n\n") ; | |
for (x=1; x<=3; x++) { | |
inteiro = (rand()%6)+1; // como o numero gerado por rand vai de 0 a RAND_MAX, | |
// geramos o resultado de 0 a 5 e somamos 1 para garantir o intervalo de 1 a 6 | |
printf ("Dado rolado com resultado %d\n", inteiro); | |
} | |
// simular tres jogadas de cara ou coroa com moeda | |
printf ( "Simulacao de cara ou coroa\n\n") ; | |
for (x=1; x<=3; x++) { | |
inteiro = (rand()%2); | |
if (inteiro == 0) { | |
printf ("Cara\n"); | |
} else { | |
printf ("Coroa\n"); | |
} | |
} | |
getchar() ; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment