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