Ir ao conteúdo
  • Cadastre-se

Ajuda no comando rand() (gerar números aleatórios)


Air-Gear

Posts recomendados

Eu digitei esse programa que tem num livro para ver como é o uso do comando rand()

#include <stdio.h>

#include <stdlib.h>

void main (void)

{

int magic;

int guess;

magic = rand();

printf ("Adivinhe o numero magico: ");

scanf ("%d",&guess);

if (guess == magic){

printf ("** Certo **\n");

printf ("%d e o numero magico \n",magic);

}

else if (guess > magic)

printf ("Errado, muito alto\n");

else printf ("Errado, muito baixo\n");

system ("pause");

}

O programa está rodando tudo bem, mas percebi que toda vez que executo o programa sempre é o mesmo número.

Ex: O rand() gera o número 41 na primeira vez e faz o que precisa ser feito. Quando executa pela segunda vez é o 41 de novo.

Alguém sabe como gerar números aleatórios, por favor?

Link para o comentário
Compartilhar em outros sites

Eu testei o srand() e gerou os outros números. Funcionou sem problemas. Agora fiz esse programa utilizando o rand() com srand():

#include <stdio.h>

#include <stdlib.h>

void main (void)

{

int numero;

while (numero >=1000)

{

srand((unsigned)time(NULL));

numero = rand();

}

printf ("O numero gerado foi %d\n",numero);

system ("pause");

}

Desta vez o programa não sai do numero 2. Eu quero gerar um número menor que 1000.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

#include <stdio.h>

#include <stdlib.h>

void main (void)

{

int numero;

srand((unsigned)time(NULL));

numero = rand()%1000;

printf ("O numero gerado foi %d\n",numero);

system ("pause");

}

Pronto... assim ele só vai criar numeros maiores que 1000...

Link para o comentário
Compartilhar em outros sites

Valeu Crudo e Plateu! Ultima dúvida! Como eu faço para não aceitar o 0?

Edit: Fiz várias formas e mesmo assim imprimiu o 0. Um exemplo:

#include <stdio.h>

#include <stdlib.h>

void main (void)

{

int numero;

srand((unsigned)time(NULL));

while (((numero = rand()) > 60 ) && ((numero = rand()) != 0 ));

printf ("O numero gerado foi %d\n",numero);

system ("pause");

}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!