Oi!
Estou tentando fazer o exercício 2 (da mágica do 9), mas há um problema. A função drand48 é dada como desconhecida.
Já pesquisei em alguns lugares e aparentemente ela é exclusiva para Unix. Como o Linux da pró-aluno não tem o codeblocks instalado, gostaria de saber se há outro modo de fazer.
Tentei pelo srand e pelo rand, randomizando em função do relógio do sistema, mas como o processamento leva pouco tempo, aparece sempre o mesmo número.
Se for possível uma sugestão, agradeço!
(PS.: Eu observei o erro de digitação "stdlib", mas isso não altera em nada o fato de o comando não ser conhecido.)
eu também tive o mesmo problema. trabalho no windows com o codeblocks, e quando mando compilar, ele diz que o drand não foi declarado (mesmo fazendo o ajuste do stdlib.h no começo).
alguém sabe um jeito de consertar isso aí!? =)
De fato, a função drand48() é considerada obsoleta, mas como é padrão deveria estar presente.
Como alternativa, use o rand(). Abaixo está um exemplo de como usar, o srand(time(NULL)) serve para gerar sequências diferentes a cada vez que o programa rodar.
Como alternativa, use o rand(). Abaixo está um exemplo de como usar, o srand(time(NULL)) serve para gerar sequências diferentes a cada vez que o programa rodar.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int r,i;
/* prepara o sorteio de acordo com a hora atual */
srand(time(NULL));
for( i = 0; i < 1000; i++) {
/* RAND_MAX é um "#define" */
/* rand() retorna um valo aleatório
entre 0 e RAND_MAX */
r = 100. *((double)rand()/(double)RAND_MAX);
printf("> %2d\n",r);
}
return 0;
}
Funcionou sim.
Obrigado, professor!
Obrigado, professor!