seré lo mas breve y concisa posible, pues tengo una duda acerca de esta función de números aleatorios en Chice 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



