Foros del Web » Programación para mayores de 30 ;) » Programación General »

generar numeros aleatorios c y sdl

Estas en el tema de generar numeros aleatorios c y sdl en el foro de Programación General en Foros del Web. Hola el caso es que no se como generar números aleatorios en dev c ya que estoy utilizando sdl pero antes en c en programas ...
  #1 (permalink)  
Antiguo 26/08/2011, 07:50
 
Fecha de Ingreso: febrero-2010
Mensajes: 24
Antigüedad: 14 años, 1 mes
Puntos: 0
generar numeros aleatorios c y sdl

Hola el caso es que no se como generar números aleatorios en dev c ya que estoy utilizando sdl pero antes en c en programas de consola hacia random(100); por ejemplo y ya esta pero asi no se como se hace intente srand(time(NULL));,random();randomize........ etc pero no funciona...... quisiera que me ayuden por favor.
  #2 (permalink)  
Antiguo 22/09/2012, 20:46
 
Fecha de Ingreso: agosto-2012
Mensajes: 94
Antigüedad: 11 años, 8 meses
Puntos: 7
Respuesta: generar numeros aleatorios c y sdl

Porque no te funciona?

primero, inicializas la semilla con :

Cita:
srand(time(NULL));
Esto hace que el numero para iniciar los calculos que generan numeros aleatorios, inicien siempre con un numero diferente, en este caso, la hora reloj de la compu.

Cita:
x = rand() % MAXRAND
x es una variable cualquiera. Rand genera un numero aleatorio entre 0 y Maxrand. Simplemente defines Maxrand al principio como una constante, y le das un valor, y listo.

No es muy complicado. Lo que si, a Srand solo se lo llama una vez. Lo que no estoy seguro es si cada vez que se revisa la variable cambia de valor, pero podes averiguarlo de forma muy simple. Pone un bucle y fuera del bucle, pone la variable como aleatoria, y hace que imprima la variable un numero de veces, y fijate.

Saludos!!!

Espero haber sido de ayuda.

Nota: Ahora que veo la fecha, es de hace unos cuantos años, pero bueno, si alguien no sabia, al menos puede verlo aqui.
  #3 (permalink)  
Antiguo 29/09/2012, 13:39
Avatar de Edux099  
Fecha de Ingreso: agosto-2010
Ubicación: Argentina
Mensajes: 1.285
Antigüedad: 13 años, 7 meses
Puntos: 37
Respuesta: generar numeros aleatorios c y sdl

harryarcoiris te olvidaste el ;

Debe quedar asi:

x = rand() % MAXRAND; //con el ;

"Lo que no estoy seguro es si cada vez que se revisa la variable cambia de valor, "
A x se le esta asignando un valor aleatorio, no debe quedar el viejo, no entiendo...

Ademas, si se utliliza srand en cada ejecucion los resultados varian si o si. Si se utiliza solo rand() siempre es el mismo, pero no se si exactamente SIEMPRE, ya que srand es la semilla.

Otra cosa, si no queres incluir el 0 en x tendrias que escribir:
x = rand() % MAXRAND + 1;
__________________
Arch Linux user
Emacs user
  #4 (permalink)  
Antiguo 01/10/2012, 09:33
 
Fecha de Ingreso: agosto-2012
Mensajes: 94
Antigüedad: 11 años, 8 meses
Puntos: 7
Respuesta: generar numeros aleatorios c y sdl

A, si me olvide el ;

Que buen metodo para evitar el 0.

Yo solia usar :

if( x == 0)
{
x = x + 1;
}

pero tu metodo es mejor, porque el mio ademas de ser mas largo genera mas posibilidades de que salga 1 que algun otro numero.

Etiquetas: numeros, programa, sdl, aleatoria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:41.