Programski jezik C++
Slučajan broj /RANDOM/ - funkcija rand()

 
Slika 1. Vrijednost = max * rand()
Slika 3. Vrijednost = (max-min) * rand() + min
     
 
Slika 2. Vrijednost = max * rand()
Slika 4. Vrijednost = (max-min) * rand() + min

 

Opis
Primjer ispisa naredbe

Za izračunavanje slučajnog broja u programskom jeziku C++ koristi se matematička funkcija
rand()
Opseg rezultata je od 0 do 1 (bez vrijednosti 1).

rand()
Ako želim da opseg vridnosti od 0 do izabranog broja pišemo:
rand()% Izabrani_broj
Opseg rezultata je od 0 do Izabranog broja(bez vrijednosti izabranog broja).
rand() % 3 // za vrijednsoti od 0 do 3.

Generisati slučajan broj

Program koristi srand () funkciju koja generišes slučajan broj korišćenjem sistemskog sata, to zahtjeva inicijalizaciju generatora slučajnog broja. Zato je u program uključena biblitoteka za sistemski sata #include <ctime>, a za generator bibiloteka #include <cstdlib>. Inicijalizacija genratora slučajnog broja se izvodi naredbom
srand(time(0)); // Inicijalizacija genratora slučajnog broja
Izdvajanje cifara se izvodi operatorom % (moduo). Vidi slijedeće primjere:

rand() % 10 // jednocifren slučajan broj
rand() % 100 // dvocifren slučajan broj
rand() % 10 + 1 // slučajan broj od 1 do 10 (uključeno)

Listing programa:

#include <iostream>
#include <ctime>
#include <cstdlib>

using namespace std;

int main()
{
    srand(time(0));  // Inicijalizacija genratora slučajnog broja
    int a = rand();  // generisanje slučajnog broja
    cout << a << endl;
    return 0;
}

Ispis na ekranu:
1127606845

II izvršenje programa:
898885324

Dvocifren broj

Pri izdvajanju dvije cifre sa desna može se desiti da je cifra desetica nula pa na taj način se dobija jednocifren broj. Zato se koristi Vrijednost = (max-min) * rand() + min.
Prikazan je ispis 15 generisanih dvocifrenih brojeva.

Listing programa:

#include <iostream>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
int main()
{
    srand(time(0));  // Inicijalizacija genratora slučajnog broja
    int a, dvo;  // generisanje slučajnog broja
    for(int i = 1; i <= 15; ++i) {
        a = rand();
        dvo = (a % 90) + 10;
        cout << dvo << endl;
    }
    return 0;
}

Ispis na ekranu:
31
33
24
35
97
17
40
56
33
11
34
82
15
63
37

Index