Losowy#
Wstęp#
Biblioteka standardowa C++ udostępnia funkcje generowania liczb pseudolosowych. Można ich używać w VEXcode IQ w przypadku zachowań wymagających zmienności lub przypadku.
Funkcje#
Biblioteka <cstdlib> zawiera następujące funkcje:
rand#
Zwraca losową liczbę całkowitą z przedziału od 0 do 2 147 483 647.
Available Functionsint rand();
Ta funkcja nie przyjmuje żadnych parametrów.
Return ValuesZwraca losową liczbę całkowitą z przedziału od 0 do 2 147 483 647.
NotesAby zwrócić losową liczbę całkowitą w określonym zakresie, należy użyć wzorca
rand() % max.Aby zwrócić losową liczbę całkowitą z określonego zakresu, należy użyć wzorca
rand() % (max - min + 1) + min.
// Display a random number
Brain.Screen.print("%d", rand());
// Display a random number between 0 and 100
Brain.Screen.print("%d", rand() % 101);
// Display a random number between 5 and 10
Brain.Screen.print("%d", rand() % (10 - 5 + 1) + 5);
srand#
Ustawia wartość ziarna, która ma być używana przez generator liczb pseudolosowych w funkcji rand.
void srand( unsigned int seed );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Początkowa wartość ziarna. |
Ta funkcja nie zwraca wartości.
NotesWywołaj
srandtylko raz, blisko początku swojego projektu, przed wywołaniemrand. Nie musisz wywoływać go corand.Jeśli
srandnie zostanie nigdy wywołane, program zachowuje się tak, jakby użytosrand(1)Oznacza to, żerandgeneruje tę samą sekwencję liczb za każdym uruchomieniem projektu.Aby uzyskać inne wyniki przy każdym uruchomieniu projektu, wprowadź wartość inicjującą, która zmienia się między uruchomieniami, na przykład Czasomierz mózgu.
Aby za każdym razem uzyskać takie same wyniki (co jest przydatne podczas testowania), należy wprowadzić stałą liczbę, np.
srand(1).
// Use the same seed for random number
srand(5);
Brain.Screen.print("%d", rand() % 100);