Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 32263 razy

Funkcje srand oraz rand wymagają załączenia pliku nagłówkowego stdlib.h, dodatkowo w programie użyta została funkcja time, dla której konieczne jest załączenie pliku nagłówkowego time.h. Oto kod programu generującego 5 liczb pseudolosowych:

#include <iostream> #include <stdlib.h> // niezbędne dla funkcji srand i rand #include <time.h> // niezbędne dla funkcji time #include <windows.h> //niezbędne dla funkcji setlocale using namespace std; int main(){ setlocale(LC_CTYPE,"Polish"); // obsługa polskich znaków srand(time(NULL)); // ta funkcja ustawia losowy punkt generowania danych, w tym przypadku wykorzystana została funkcja time z pliku nagłówkowego time.h, funkcja ta zwraca liczbę określającą czas cout<<"Generowanie liczb pseudolosowych dla pełnego zakresu liczb:"<<endl<<endl; for(int i = 0; i < 5; i++){ cout<<rand() // ta funkcja zwraca liczbę pseudolosową z zakresu od 0 do 32767, a na jej działanie ma wspływ funkcja srand <<endl; } cout<<endl<<"Generowanie liczb pseudolosowych dla zakresu od -100 do 100:"<<endl<<endl; for(int i = 0; i < 5; i++){ cout<<(rand() % 200) - 100 // w ten sposób uzyskuje się pseudolosowe liczby o zakresie od - 100 do 100 <<endl; } cout<<endl<<endl<<"Wciśnij enter, aby zamknąć program..."; cin.get(); return 0; }

Przykładowy wynik działania programu:

Generowanie liczb pseudolosowych dla pełnego zakresu liczb:
 
13584
29366
25171
16259
29390
 
Generowanie liczb pseudolosowych dla zakresu od -100 do 100:
 
40
-38
66
56
-17
 
 
Wciśnij enter, aby zamknąć program...

Funkcja srand wraz z funkcją time sprawiają, że po uruchomieniu programu za każdym nowym jego uruchomieniem otrzymane zostaną nowe zestawy liczb. Gdyby usunąć lub wykomentować linijkę kodu z funkcją srand, wtedy przy każdym uruchomieniu programu wygenerowane zostałyby te same liczby.

Layout wykonany przez autora strony, wszelkie prawa zastrzeżone. Jakiekolwiek użycie części lub całości grafik znajdujących się na tej stronie bez pisemnej zgody jej autora surowo zabronione.