[ Foro de C ]

Aclaración numeros aleatorios pag. 111

02-Jan-2010 20:21
mario moreno
1 Respuestas

¿Alguien puede explicar con más detalle este apartado de la pag. 111 en versión pdf?. No acabo de entenderlo. Gracias


Para obtener un número del 0 al 9 haríamos x = rand() % 10;
Para obtener un número del 0 al 29 haríamos x = rand() % 30;
Para obtener un número del 10 al 29 haríamos x = rand() % 20 + 10;
Para obtener un número del 1 al 100 haríamos x = rand() % 100 + 1;
Para obtener un número del 50 al 60 haríamos x = rand() % 11 + 50;
Para obtener un número del 101 al 199 haríamos x = rand() % 100 + 101;


06-Jan-2010 13:03
Nacho Cabanes (+31)

Lo tienes explicado en el párrafo que hay justo antes de esos ejemplos:

“rand()”, nos devuelve un número entero entre 0 y el valor más alto que pueda tener un número entero en nuestro sistema. Generalmente, nos interesarán números mucho más pequeños (por ejemplo, del 1 al 100), por lo que “recortaremos” usando la operación módulo (“%”, el resto de la división).

Sólo hace falta saber cómo funciona el resto de la división, pero eso no es un problema de programación, sino conceptos matemáticos de educación primaria: cuando divides un número entre 10, el resto estará entre 0 y 9. Y la operación "resto de la división" en C se escribe con el símbolo %, como ya habrás visto en el apartado 1.3 del curso.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)