Stronę tą wyświetlono już: 31793 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.