C/Visual C - Como crear un numero aleatorio

 
Vista:

Como crear un numero aleatorio

Publicado por dai1 (5 intervenciones) el 05/02/2008 13:16:01
Hola como puedo crear un numero aleatorio entre 100 y 500

La operacion que he hecha ha sido esta

int num=0;

num=rand%100+500;//pero esta operacion me genera error por lo que he puesto esta

num=(int)rand%100+500;//En este caso me da un warning pero siempre genera el mismo numero y creo q esta mal

¿Como puedo hacerlo bien?

Gracias por adelantado

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como crear un numero aleatorio

Publicado por Leo (17 intervenciones) el 06/02/2008 22:47:29
Hola!

rand()%401 número entre 0 y 400
rand()%401 + 100, número entre 0+100 = 100 y 400 + 100 = 500. Es decir, entre 100 y 500.
Esto es porque rand() da un número "aleatorio" entre 0 y MAX_INT., y % lo que hace es tomar el resto de la division por 401. El resto es como mínimo 0 y como máximo 400.
La función rand() no es aleatorio del todo, sino que parte de un número (semilla). Para que no de siempre el mismo número debes cambiar la semilla con srand cada cierto número de veces que generas aleatorios,
la semilla por defecto es 1. Ej, srand(15).
He visto que se hace srand (time(null)) por ejemplo, antes de llamar a rand(), eso coloca como semilla con el tiempo.

Suerte
Leo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar