România
Roportal.ro

Random number

Început de The Builder, Mie 29 iun 2005 · 6 răspunsuri · 7.506 vizualizări

The Builder29 mesaje#1

Worca27 sunt si eu curios ca tot omul cum genereaza prcesorul un numar random:cu multe operatii matematice sau se extrage cu ajutorul unui algoritm un numar din ceasul sistemului??

work27129 mesaje#2

generarea aleatoare a unui singur numar:

#include <cstdlib>

#include <iostream>

using namespace std;

int main()

{

int random_integer = rand();

cout << random_integer << endl;

}

work27129 mesaje#3

#include <cstdlib>

#include <ctime>

#include <iostream>

using namespace std;

int main()

{

srand((unsigned)time(0));

int random_integer = rand();

cout << random_integer << endl;

}

work27129 mesaje#4

... sau generarea unui numar intre anumite valori

#include <cstdlib>

#include <ctime>

#include <iostream>

using namespace std;

int main()

{

srand((unsigned)time(0));

int random_integer;

for(int index=0; index<20; index++){

random_integer = (rand()%10)+1;

cout << random_integer << endl;

}

}

work27129 mesaje#5

... sau ceva mai complicat, generarea aleatoare a 20 numere intre 1 so 10

#include <iostream>

#include <ctime>

#include <cstdlib>

using namespace std;

int main()

{

srand((unsigned)time(0));

int random_integer;

int lowest=1, highest=10;

int range=(highest-lowest)+1;

for(int index=0; index<20; index++){

random_integer = lowest+int(range*rand()/(RAND_MAX + 1.0));

cout << random_integer << endl;

}

}

MasterOfDisaster204 mesaje#6

Se extrage din clock-ul procesorului.:lol2:

Nu stiu cum exact se proceseaza dupa aia...

L_i_g_i_u_s1.739 mesaje#7

Numarul nu e aleator, ci pseudo-aleator. Adica se genereaza o secventa de numere folosind un algoritm matematic, numere ce par aleatoare. Valoarea de la care se porneste se numeste seed, si poate fi de exemplu timpul curent (in milisecunde).

Un algoritm simplu ar fi (seed*49 mod 50) care returneaza numere intre 0 si 49. Bineinteles ca e doar ceva cu rol de exemplu, in realitate trebuie asigurata o distributie propice si un mod de a evita intrarea intr-o bucla.

← Înapoi la Programare