Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/03/2012, 05:12
Avatar de aleingenieria
aleingenieria
 
Fecha de Ingreso: septiembre-2011
Ubicación: guatemala
Mensajes: 7
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta funcion rand() en c

hola a todos gracias por su tiempo seré lo mas breve y concisa posible, pues tengo una duda acerca de esta función de números aleatorios en C
hice un juego de dados pero mi dificultad radica en que el rango debería de ser entre 1 a 6 pero la función rand()%7 utiliza un rango entre 0 a 6....


investigando acerca de la funcion encontre esto:



"Si Ud. quiere generar un entero aleatorio entre 1 y 10, siempre (ambos incluidos)

debería hacerlo usando los bits de orden alto como en:"


j=1+(int) (10.0*rand()/(RAND_MAX+1.0));

En mi programa quedaria asi:

dado1=1+(int) (6.0*rand()/(RAND_MAX+1.0)) ;

Pero la verdad es que no entiendo la formula que utilizaron en ese código y de nada me sirve utilizarla sino se como es que funciona....


Si alguien me hiciera el favor de decirme porque esa formula si me despliega los numeros de 1 a 6, se lo agradeceria mucho