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??
Pagina 1 din 1
Random number
#2
Scris 30 June 2005 - 08:18 AM
generarea aleatoare a unui singur numar:
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int random_integer = rand();
cout << random_integer << endl;
}
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int random_integer = rand();
cout << random_integer << endl;
}
#3
Scris 30 June 2005 - 08:26 AM
#include <cstdlib>
#include <ctime>
#include <iostream>
using namespace std;
int main()
{
srand((unsigned)time(0));
int random_integer = rand();
cout << random_integer << endl;
}
#include <ctime>
#include <iostream>
using namespace std;
int main()
{
srand((unsigned)time(0));
int random_integer = rand();
cout << random_integer << endl;
}
#4
Scris 30 June 2005 - 08:29 AM
... 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;
}
}
#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;
}
}
#5
Scris 30 June 2005 - 08:37 AM
... 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;
}
}
#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;
}
}
#6
Scris 07 September 2005 - 07:44 AM
Se extrage din clock-ul procesorului.
Nu stiu cum exact se proceseaza dupa aia...
Nu stiu cum exact se proceseaza dupa aia...
#7
Scris 14 November 2005 - 02:49 PM
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.
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.
Impartaseste acest subiect:
Pagina 1 din 1
Subiecte similare
| Topic | Deschis de | Replici | Vizualizari | |
|---|---|---|---|---|
|
cine ere documentatie pt matlab | deiyyutza | 2 | 2.976 |
|
PROGRAM NOU
Am nevoie de exemple...... |
The Builder | 6 | 5.964 |
|
caut soft ca sa invat C++ | 12345m | 5 | 2.364 |
|
Functii windows in C++
In asteptarea unor raspunsuri,tutoriale,indrumari... |
AnaKonD | 5 | 4.145 |
|
JAVA ROMBUS | Sweetalice90 | 0 | 545 |
Contact
Facebook
Twitter
RSS












