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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  numeros aleatorios con rand
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: numeros aleatorios con rand  (Leído 1,531 veces)
d91

Desconectado Desconectado

Mensajes: 165


Ver Perfil
numeros aleatorios con rand
« en: 30 Agosto 2015, 16:52 pm »

hola a todos, deseo comprender una linea de codigo que me dieron, es de numeros aleatorios con rand
Código
  1. numero=rand() % 100 + 1 <= 50 ? 1 : 2;
entiendo la parte que dice que el numero sera entre 1 y 100, pero ya no entiendo donde es menor o igual a 50, entre 1 y 2 agradezco su orientacion


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: numeros aleatorios con rand
« Respuesta #1 en: 30 Agosto 2015, 17:58 pm »

el "?" es un if simplificado... basicamente ese codigo se traduce como

Código:
numero = rand() % 100 + 1;
if(numero <= 50){
  numero = 1;
}else{
  numero = 2;
}


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Bob1098

Desconectado Desconectado

Mensajes: 87


Ver Perfil
Re: numeros aleatorios con rand
« Respuesta #2 en: 30 Agosto 2015, 18:49 pm »

Me ha surgido una duda con ese código. No sería mucho más fácil generar un numero aleatorio entre 1 y 2?. Igual me equivoco y si es así ruego que se me corrija...

Código
  1. int i = rand() % 2 + 1;
  2.  
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: numeros aleatorios con rand
« Respuesta #3 en: 9 Septiembre 2015, 04:22 am »

si, es más facil... solo que esa persona quiso hacerlo como si fuera un porcental... pero al final de cuentas da lo mismo
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
v4char

Desconectado Desconectado

Mensajes: 61



Ver Perfil
Re: numeros aleatorios con rand
« Respuesta #4 en: 9 Septiembre 2015, 04:45 am »

Tengo una duda cuando haces un rand en C siempre que ejecutes en ese ordenador te va a dar el mismo número?
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: numeros aleatorios con rand
« Respuesta #5 en: 9 Septiembre 2015, 05:00 am »

si no inicializas con una semilla, si, básicamente es porque se basa en una formula, e inicializar sin semilla es equivalente a iniciar con 0...

para eso usas
Citar
srand (time(NULL));

le pasará como semilla la fecha actual (unix)
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
someRandomCode

Desconectado Desconectado

Mensajes: 250



Ver Perfil
Re: numeros aleatorios con rand
« Respuesta #6 en: 9 Septiembre 2015, 21:12 pm »

si no inicializas con una semilla, si, básicamente es porque se basa en una formula, e inicializar sin semilla es equivalente a iniciar con 0...

para eso usas
le pasará como semilla la fecha actual (unix)

OJO con eso, no siempre.. En Linux/*BSD el kernel tiene una fuente de entropia para garantizar que srand/rand tengan valores diferentes aun si la semilla es la misma..
Utilizan la mas de las veces el motor de generacion de numeros aleatorios (ok, nunca aleatorios, pseudo aleatorios) que esta integrado en la pastilla con instrucciones dedicadas a ello..
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
NUMEROS ALEATORIOS EN VB
Programación Visual Basic
WCIETE 3 4,012 Último mensaje 30 Agosto 2005, 01:19 am
por Slasher-K
Numeros aleatorios
Programación Visual Basic
Gleper 2 2,234 Último mensaje 3 Noviembre 2007, 14:40 pm
por Gleper
NUMEROS ALEATORIOS
Java
ponichan 6 10,258 Último mensaje 19 Abril 2008, 21:35 pm
por sapito169
Números Aleatorios!
Programación Visual Basic
ka0s 5 4,439 Último mensaje 9 Abril 2009, 04:27 am
por ka0s
Números fijo o números aleatorios para las loterías? « 1 2 »
Foro Libre
exploiterstack 16 13,933 Último mensaje 15 Mayo 2015, 22:56 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines