elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [?] Me ayudan a entender el porque de este código?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [?] Me ayudan a entender el porque de este código?  (Leído 1,776 veces)
mastersuv

Desconectado Desconectado

Mensajes: 23


Tomorrow couldn't be a new day...


Ver Perfil WWW
[?] Me ayudan a entender el porque de este código?
« en: 9 Julio 2011, 06:08 am »

Creo que esta es la segunda vez que uso este foro para resolver una duda, y espero estarlo haciendo de la forma correcta... No tuve tiempo de leerme las reglas completamente, pero en fin jejej ya habrá otro momento...

Estoy programando en C++ y jugando un poco con números aleatorios (srand y rand) llegue a la duda de como limitar un rango para sacar dichos números aleatorios... y encontré lo siguiente:

n = (rand()%(max-min+1))+min;

Donde max, seria el numero máximo, y min el mínimo...
mi duda es... porque así? No entiendo la lógica matemática ._. alguien me puede explicar?


En línea

Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: [?] Me ayudan a entender el porque de este código?
« Respuesta #1 en: 9 Julio 2011, 10:15 am »

rand() da un rango da un numero entre 0 y dios sabe qué. Si mal no recuerdo es un circuito del procesador dedicado específicamente a eso.

Entonces, cómo limitas el máximo número que te va a salir? operación módulo ( % )

En el caso que tu expones, se está sacando un número entre max y min de la siguiente forma:

diff= max-min+1

aleatorio= rand() % diff --> es decir, el resto de dividir el resultado de rand entre diff.

n= diff+min.

de esta forma obtienes primero la diferencia entre max y min, generas un número entre esa diferencia, y luego le sumas min para que el resultado sea haber generado un número entre max y min.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Podrian ayudarme a entender este codigo en Jquery
Desarrollo Web
Lupin 5 2,678 Último mensaje 20 Septiembre 2012, 01:41 am
por Agente Naranja
ayuda para entender código en c++
Programación C/C++
migcv 5 2,916 Último mensaje 8 Noviembre 2012, 15:38 pm
por rir3760
me ayudan con este problema porfa
Programación C/C++
streetxfoger 8 2,885 Último mensaje 30 Mayo 2013, 23:55 pm
por twins
Ayuda a entender este código
Programación C/C++
Bastiannjs 1 1,372 Último mensaje 7 Septiembre 2017, 20:11 pm
por ivancea96
¿Me ayudan a tratar de entender este código?
Scripting
Panic0 2 1,288 Último mensaje 7 Enero 2021, 10:50 am
por Panic0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines