• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

rickfelix

Duvida com o rand()

7 mensagens neste tópico

Boas pessoal,

Estou com um problema com o rand() alguém me pode dar umas luzes de como a usar? é que o estou a usar num mini-programa ele fica a apontar sempre para o mesmo valor (desconfio que sempre para o mesmo espaço de memória) em vez de criar um valor aleatório de cada vez que corre.

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

obrigado, vou dar uma lista de olhos :thumbsup:

mas eu queria mesmo que ele me desse apenas um numero e não uma range de numeros aleatórios..

do género

y= rand();

e Y assumir um valor qualquer aleatório (dentro do seu tipo atribuido)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok já conseguir por a funcionar, obrigado Rui.

Uma ultima questão, alguma sugestão para meter o time a andar mais depressa?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

então eu usei este teu code:

       int getRandom(int min,int max){
            double r;
            long num;
            time(&num);
            srand((unsigned)num);
            r=min+rand()%(max-min+1); 
            return r;
            }

e ele usa o time para fazer a atribuição de um numero, e eu gostava de saber se haverá alguma forma de meter o time a andar mais depressa e modo e no caso de ser solicitado várias vezes a criação de um numero aleatório os numeros não serem tão iguais

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se tivesses lido o tópico todo de onde estava esse código, tinhas visto que isso tem uma falha (que é chamar o srand várias vezes).

No outro tópico, tens uma alternativa que corrige esse aspecto.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora