Exercício 2 do EP

Exercício 2 do EP

por Gabriel Valim Alcoba Ruiz -
Número de respostas: 3
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.)
Em resposta à Gabriel Valim Alcoba Ruiz

Re: Exercício 2 do EP

por Catxerê A. Casacio -

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í!? =)

Em resposta à Gabriel Valim Alcoba Ruiz

Re: Exercício 2 do EP

por Marco Dimas Gubitoso -
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.



#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;
}