🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #3655

Re: [VB6] Random getallen (integers) uit rij kiezen

#3655
From: Ares Lagae
Date: Sun, 23 Nov 2003 20:35
46 lines
2422 bytes
"Digibyte" <digibyte@pieter.verhaeghe-textiel.be> wrote in message
news:3fc0f172$0$28453$ba620e4c@reader0.news.skynet.be...
> Hoe kan ik het best het volgende programmeren:
> Ik moet een willekeurig aantal getallen kiezen (vb. 10) uit een rij
getallen
> die optelt van 0 tot x. (vb. 0, 1, 2, 3, 4, 5, 6, ..., 99)
>
> Ik heb dit al gevonden om 1 getal eruit te halen:
> Randomize
> randomValue = Int(100 * Rnd)
>

Als je rij getallen niet supergroot is, en in de veronderstelling dat je
geen 2 keer eenzelfde getal wil, kan je het eenvoudig als volgt doen:

c++ code, want ik ken geen VB (en wil ook niet :-)

/* maak array 0, 1, 2, ... */
int array[100];
for (unsigned int i = 0; i < 100; i++)
{
    array[i] = i;
}

/* randomize */
for (unsigned int i = 0; i < 100; i++)
{
    for (unsigned int j = 0; j < 100; j++)
    {
        if (rand() < (RAND_MAX / 2))
        {
            std::swap(array[i], array[j]);
        }
    }
}

de taak van
if (rand() < (RAND_MAX / 2))
is dat de swap met ongeveer 50 % kans uitgevoerd wordt.

dan geeft array[0] ... array[n-1] je de eerste n willekeurige getallen

(PS: eigenlijk is deze vraag niet VB6 specific)

Groetjes,
Ares Lagae
Technical Details
Message-ID: <1069619650.151416@seven.kulnet.kuleuven.ac.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!fr.ip.ndsoftware.net!193.190.198.58.MISMATCH!aotearoa.belnet.be!naxos.belnet.be!news.belnet.be!not-for-mail
References: <3fc0f172$0$28453$ba620e4c@reader0.news.skynet.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,a769f0ff60b66e08
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-11-23 12:34:12 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!fr.ip.ndsoftware.net!193.190.198.58.MISMATCH!aotearoa.belnet.be!naxos.belnet.be!news.belnet.be!not-for-mail
From: "Ares Lagae" <ares.lagae@student.kuleuven.ac.be>
Newsgroups: be.comp.programming
Subject: Re: [VB6] Random getallen (integers) uit rij kiezen
Date: Sun, 23 Nov 2003 21:35:07 +0100
Organization: KULeuvenNet
Lines: 48
Message-ID: <1069619650.151416@seven.kulnet.kuleuven.ac.be>
References: <3fc0f172$0$28453$ba620e4c@reader0.news.skynet.be>
NNTP-Posting-Host: seven.kulnet.kuleuven.ac.be
X-Trace: naxos.belnet.be 1069619650 25976 134.58.127.12 (23 Nov 2003 20:34:10 GMT)
X-Complaints-To: abuse@belnet.be
NNTP-Posting-Date: Sun, 23 Nov 2003 20:34:10 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Cache-Post-Path: seven.kulnet.kuleuven.ac.be!unknown@10-67-122-222.kotnet.org
X-Cache: nntpcache 2.4.0b5 (see http://www.nntpcache.org/)