Derli Junior Postado Setembro 1, 2011 Denunciar Share Postado Setembro 1, 2011 Olá,Gostaria que alguém postasse uma função para geração de números aleatórios de 0 até 12.Att. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 LacosTTe Postado Setembro 1, 2011 Denunciar Share Postado Setembro 1, 2011 serve isso?...fiz a geração de 10 números..você pode testar mais.main (void){ int i=0; do { printf("\n %d \n",rand()%12); i++; } while (i<10); system("pause"); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Derli Junior Postado Setembro 5, 2011 Autor Denunciar Share Postado Setembro 5, 2011 Poxa, cara... Eu fiz isso e não meu compilador não gerava os numeros, mas acho mais interessante que há todo instante os numeros alterem, não importa se você esteja trabalhando num vetor ou não, bem... Quando eu executava o seu código, eu tinha a seguinte saída:H:\LP\C>gcc teste.cH:\LP\C>a 5 11 10 4 5 4 6 6 10 8H:\LP\C>Isso sempre acontecia.Para resolver, eu acrescentei o seguinte código.srand ( time(NULL) );Achei que assim atendia mais o que eu pretendia fazer, mas de qualquer forma muito obrigado pela prontidão.serve isso?...fiz a geração de 10 números..você pode testar mais.main (void){ int i=0; do { printf("\n %d \n",rand()%12); i++; } while (i<10); system("pause"); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RHER Postado Setembro 19, 2011 Denunciar Share Postado Setembro 19, 2011 (editado) Olá,Gostaria que alguém postasse uma função para geração de números aleatórios de 0 até 12.Att.Para gerar números aleatórios, precisará da biblioteca stdlib e, para serem melhor sorteados usando o relógio, precisará da biblioteca time.# include <stdlib.h> # include <time.h> No início da função "main", faça: srand(time(0));Isso fará com que a cada segundo do tempo do relógio em que o programa abre os números sorteados sejam diferentes. A função time retorna um número que equivale à data, hora, minuto e segundo do relógio, aumentando assim o número a cada segundo. O srand(/*seed*/) define o início de uma série randomizada.Para finalizar, você pode retornar um inteiro (0~32767 em alguns compiladores, em outros pode sortear mais números) usando a função rand().Se fizer "rand()%13", ele resultará num número aleatório de 0 a 12.Repare, "rand()%n" sorteia um entre "n" números consecutivos iniciados em 0, ou seja, "0, 1, 2, ..., n-2, n-1", portanto não se sorteia 0~12 com rand()%12 mas rand()%13.Caso tenha curiosidade de saber, o método de sorteio do rand() é o Gerador de Sequências Lineares Congluenciais. Creio que isso tenha lhe dado alguns detalhes a mais, mesmo repetindo outros.Falou!!! Editado Setembro 19, 2011 por RHER Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Derli Junior
Olá,
Gostaria que alguém postasse uma função para geração de números aleatórios de 0 até 12.
Att.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.