
01/03/2012, 05:12
|
 | | | Fecha de Ingreso: septiembre-2011 Ubicación: guatemala
Mensajes: 7
Antigüedad: 13 años, 5 meses Puntos: 0 | |
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 |