Article View: es.comp.os.linux.programacion
Article #15352RE: N�meros aleatorios
From: Wunslov
Date: Mon, 10 Jul 2000 00:00
Date: Mon, 10 Jul 2000 00:00
64 lines
2620 bytes
2620 bytes
Una vez que optienes los numeros aleatorios con la funcion rand, del modo:
numero = rand() % (modulo + 1);
Y de ejecutar cientos de veces el programa veras que siempre son los mismos
numeros lo qe es una putada pq no son aleatorios jeje para evitar esto debes
inicializar la semilla para ello normalmente se usa el tiempo del sistema,
la funcion seria:
-----------------------------------------
#include <sys/time.h>
/**
M�todo que inicializa la semilla del RANDOM
*/
void InicializarRandom() {
static struct timezone* tz = NULL;
static struct timeval* tv = NULL;
double semilla = 0;
tz = new (struct timezone)[sizeof(struct timezone)];
tv = new (struct timeval)[sizeof(struct timeval)];
if(gettimeofday(tv, tz) == 0)
semilla = tv->tv_sec + tv->tv_usec * 100;
srand((unsigned int)semilla);
}
---------------------------------
NOTA: solo debes ejecutar la funcion una vez, normalmente al entrar el
programa, luego los numeros generados seran 'aleatorios' y digo 'aleatorios'
porque el ordenador los genera a traves de una funcion matematica y no son
realmente aleatorios.... problemas matematicos de esos jejeje
--
Salu2 de Wunslov
@@@@@ Direcciones:
| o| E-Mail: fmmm@alu.ua.es
| _\ Web en Inet: http://welcome.to/a02
| _|
| /
"Software is like sex. It's better when it's free." -= Linus Torvalds
rvm <rvm@XXlinuxfan.com> escribi� en el mensaje de noticias
E_H95.144$pA2.4012@m2newsread.uni2.es...
> Seguramente esta pregunta ser� muy b�sica, pero como no caigo ahora en
> la soluci�n (y adem�s se me dan mal las matem�ticas) pues mejor lo
> pregunto:
> Seg�n las p�ginas info veo que para obtener n�meros aleatorios hay que
> usar la funci�n rand pero esta funci�n devuelve n�meros entre 0 y un
> n�mero muy grande �y si yo quiero que me d� un n�mero entre 0 y 100 o
> entre 0 y 10 c�mo lo hago?
>
> --
> Ricardo Villalba
> rvm@XXlinuxfan.com (quita las XX)
> http://members.xoom.com/rvmsoft
> http://members.xoom.com/rvmsoft/linux
> Linux registered user 90754
>
Technical Details
Message-ID:
<8kcsjq$eqor10@SGI3651ef0.iddeo.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<E_H95.144$pA2.4012@m2newsread.uni2.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,9e48787536054c7 X-Google-Attributes: gidf86c8,public From: "Wunslov" <wunslov@retemail.es> Subject: RE: N�meros aleatorios Date: 2000/07/10 Message-ID: <8kcsjq$eqor10@SGI3651ef0.iddeo.es> X-Deja-AN: 644665607 References: <E_H95.144$pA2.4012@m2newsread.uni2.es> X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211 Organization: Iddeo - Retevisi�n X-MSMail-Priority: Normal Newsgroups: es.comp.os.linux.programacion