Article View: es.comp.lenguajes.c++
Article #148Re: Función para Aleatorios.
From: David Carricajo
Date: Tue, 16 Oct 2007 14:23
Date: Tue, 16 Oct 2007 14:23
35 lines
2449 bytes
2449 bytes
On 7 oct, 23:09, "R.G.A.M." <rgam1...@gmail.com> wrote:
> Creé una función que devuelva un valor entero aleatorio entre dos
> dados. He aquí el código de la misma:
>
> int Aleatorio_Entre (int num1, int num2)
> {
> srand((unsigned)time(NULL));
> int aleatorio = rand() % (num2-num1+1) + num1;
> return aleatorio;
>
> }
>
> Funciona relativamente bien (efectivamente, obtiene un valor aleatorio
> entre los dos dados), pero siempre devuelve el mismo valor cada vez
> que se la invoca.
>
> ¿Podría ayudarme alguien, por favor? Revisé antes en el foro para
> encontrar alguna ayuda, pero no tuve éxito. Muchas gracias con
> anticipación.
A menos que RAND_MAX + 1 sea múltiplo del intervalo en el que buscas
(num2 - num1 + 1), es decir, de la forma 2^i con i entero, no creo que
la distribución que se cree llamando a tu función sea uniforme.
Quizá llamando a la función:
int uniforme(int n)
{
static int avanza;
return (rand() + avanza++) % n;
}
se pueda generar una distribución así para un tiempo largo en el
intervalo [0, n)
Technical Details
Message-ID:
<1192544613.918398.189550@e9g2000prf.googlegroups.com>Path:
arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!e9g2000prf.googlegroups.com!not-for-mailReferences:
<1191791399.660205.170130@o80g2000hse.googlegroups.com>Show Full Headers
Complete Article Headers
X-Google-Thread: f53ec,cfee6b0bbd09c49 X-Google-Attributes: gidf53ec,public,usenet X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!e9g2000prf.googlegroups.com!not-for-mail From: David Carricajo <david.carricajo@gmail.com> Newsgroups: es.comp.lenguajes.c++ Subject: Re: Función para Aleatorios. Date: Tue, 16 Oct 2007 07:23:33 -0700 Organization: http://groups.google.com Lines: 36 Message-ID: <1192544613.918398.189550@e9g2000prf.googlegroups.com> References: <1191791399.660205.170130@o80g2000hse.googlegroups.com> NNTP-Posting-Host: 193.148.96.129 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1192544617 9763 127.0.0.1 (16 Oct 2007 14:23:37 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 16 Oct 2007 14:23:37 +0000 (UTC) In-Reply-To: <1191791399.660205.170130@o80g2000hse.googlegroups.com> User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727),gzip(gfe),gzip(gfe) X-HTTP-Via: 1.0 SREDMM02A Complaints-To: groups-abuse@google.com Injection-Info: e9g2000prf.googlegroups.com; posting-host=193.148.96.129; posting-account=ps2QrAMAAAA6_jCuRt2JEIpn5Otqf_w0