2. Tablice wielowymiarowe

2.1. Generowanie liczb losowych

We wszystkich pokazywanych do tej pory przykładach tablice były wypełniane danymi podawanymi przez użytkownika. Zwłaszcza w przypadku tablic wielowymiarowych o dużych wymiarach jest to proces czasochłonny. Tablice możemy wypełniać także za pomocą losowania do nich wartości. W tym celu należy wykorzystać funkcję rand() z biblioteki cstdlib. Funkcja generuje liczbę losową całkowitą o rozkładzie jednostajnym z przedziału <0, RAND_MAX>, gdzie RAND_MAX typu int jest stałą (równą 32767). Domyślnie funkcja rand() korzysta z predefiniowanego ziarna losowości, więc każdorazowe uruchomienie programu bez zmiany tego ziarna spowoduje wygenerowanie takiej samej sekwencji "losowych" liczb. Aby to zmienić, stosuje się funkcję srand(unsigned int seed), która pozwala ustawić ziarno na nową wartość. Typowo stosuje się funkcję srand(time(0)), by ziarno było oparte na aktualnym czasie systemowym, co zapewnia większą losowość przy każdym uruchomieniu programu. Korzystając z funkcji rand() możliwe jest wylosowanie liczby z dowolnego przedziału za pomocą prostych operacji matematycznych.


Za pomocą wyprowadzonego wzoru możemy losować liczbę rzeczywistą (double) z przedziału <a;b>. Korzystając z właściwości działania modulo możemy w analogiczny sposób wyprowadzić wzór na losowanie liczb całkowitych.


Wzór umożliwia wylosowanie liczby całkowitej (int) z przedziału <a;b>.