Wypełnij tablicę losowymi liczbami C ++

Wypełnij tablicę losowymi liczbami C ++
Tablice służą do przechowywania elementów o tym samym typie danych w obszarach pamięci sekwencyjnej. Możemy łatwo zbudować tablice różnych typów danych w C++. W tym artykule będziemy pracować nad utworzeniem losowej tablicy zawierającej liczby losowych w C++. Pomoże ci to tworzyć losowe liczby i przechowywać powiązany numer w tablicy. Użyjemy biblioteki C ++ do tworzenia liczb losowych, których następnie użyjemy do wypełnienia naszej tablicy.

Metody generowania liczb losowych w C++

Język programowania C ++ zawiera wbudowany pseudo-lampy generator liczb, a także dwie metody generowania liczb losowych: rand () i srand (). Przejdźmy przez metody Rand () i Srand ().

Skraj()

Aby uzyskać liczbę losową, używamy metody rand (). Po wywołaniu funkcja rand () w C ++ generuje pseudo-lodowską liczbę między 0 a rand max. Ilekroć stosuje się tę metodę, wykorzystuje algorytm, który daje szereg liczb losowych. Nie możemy uznać, że liczby utworzone są jako naprawdę losowe, ponieważ są one tworzone przy użyciu algorytmu, który wykorzystuje wartość nasion; Zamiast tego nazywamy takimi liczbami jako liczbami pseudo-losów.

SRAND ()

Metoda srand () jest często stosowana w połączeniu z metodą rand (). Jeśli metoda srand () nie jest stosowana, nasiona rand () jest generowane tak, jakby SRAND (1) był używany wcześniej w konfiguracji programu. Każda inna wartość nasion powoduje, że generator zaczyna się w nowej lokalizacji.

Zauważ, że jeśli użyjesz rand () do tworzenia liczb losowych bez uprzedniego wykonywania srand (), twój kod generuje sekwencję tych samych liczb całkowitych za każdym razem, gdy działa.

Przykład 1

Używamy metody rand () do generowania liczb losowych w szeregu liczb całkowitych. Najpierw zadeklarowaliśmy zmienną „MYnumber” z liczbą całkowitą typu danych. Zmienna „Mynumber” ma od użytkownika wartość integralną. Następnie mamy tablicę liczb całkowitych „Rand”, a na następnym wierszu mamy cykl pętli, który generuje liczbę losową nad każdą iteracją za pomocą metody rand ().

Bierzemy rozmiar tablicy, a następnie definiujemy tablicę tego rozmiaru. Metoda Rand () generuje liczby losowe, dzieli je przez 10 i przechowuje pozostałą część w tablicy w określonej pozycji. Tablica zostanie wydrukowana po inicjalizacji.

#włączać
za pomocą przestrzeni nazw Std;
int main ()

int mynumber;
Cout<<"Enter the array size number::";
cin >> mynumber;
int rand [MyNumber];
dla (int r = 0; r Rand [r] = rand ()%10;
Cout<<"\nArray Elements::"<dla (int r = 0; rCout<<"Number of Elements "<powrót 0;

Wynik liczb losowych w tablicy liczb całkowitych pokazano na poniższym obrazku.

Przykład 2

Jak omówiono, Srand () ustawia ziarno metody rand (). Zbudowaliśmy metodę wypełniania tablicy losowymi wartościami za pomocą metody SRand () w C++. Przede wszystkim zaimportowaliśmy wbudowaną bibliotekę C ++ „Czas.h ”, który zwraca bieżący znacznik czasu w momencie, gdy funkcja jest wywoływana. W rezultacie możemy zapewnić, że do metody srand () podano odrębną wartość jako parametr za każdym razem, gdy program jest wykonywany.

Następnie mamy kolejną wbudowaną bibliotekę „stdlib.h ”, przez który możemy uzyskać dostęp zarówno do metod Rand, jak i Srand. Mamy główną funkcję, w której kod jest wdrażany. Stworzyliśmy tablicę jako „tablicę” niestandardowego rozmiaru. Rozmiar tablicy zostanie określony przez użytkownika. Następnie zastosowaliśmy metodę SRAND i przekazaliśmy w niej wartość nasion „Null”. Za każdym razem, gdy uruchamiamy program, zamiast powtarzanych wartości generowany jest losowy i unikalny zestaw wartości.

W bloku For Loop mamy metodę rand (), która wytworzy liczbę losową w każdym cyklu pętli. Polecenie Cout wydrukuje losową liczbę rozmiarów danej tablicy.

#włączać
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

int snum;
Cout<<"Enter number for array size: ";
cin >> snum;
int tablica [snum];
SRAND (czas (null));
dla (int s = 0; s
int no = rand ();
Tablica [s] = nie;

dla (int s = 0; sCout<Cout<powrót 0;

Wynik losowej liczby rozmiarów tablicy „4” jest wyświetlany na ekranie końcowym Ubuntu.

Przykład 3

Możemy również generować liczby losowe w zakresie. W poniższym programie zaimplementowaliśmy sposób wypełnienia tablicy losowymi liczbami całkowitymi w zakresie w C++. Stworzyliśmy tablicę jako „ARR”, która weźmie rozmiar tablicy, gdy użytkownik ją wprowadzi.

Następnie ustawiamy czas nasion na „zerowy” w metodzie SRAND. W miarę zastosowania metody SRAND program tworzy odrębne zestawy liczb losowych za każdym razem, gdy jest wykonywana. Następnie wygenerowaliśmy liczbę losową w zakresie od 0 do 5. Używamy operatorów modułu 5 do wywołania metody RAND.

#włączać
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

int randnum;
Cout<<"Enter the array size: ";
cin >> randnum;
int arr [randnum];
SRAND (czas (null));
dla (int i = 0; i
int rnumber = rand ()%5;
ARR [i] = RNumber;

dla (int i = 0; iCout<Cout<powrót 0;

Jak widać, losowa liczba wygenerowana leży w zakresie od 0 do 5 w następującym kawałku obrazu.

Przykład 4

Domyślnie funkcja rand (), którą widzieliśmy przed zwróceniem wyniku liczb całkowitych, która może w niektórych przypadkach stworzyć przepełnienie. W rezultacie możemy użyć pływaka lub podwójnej wartości w C++. Wygenerujemy liczby losowe Float w poniższym kodzie przykładowym, przekształcając wartość zwracania funkcji rand () na „float”.

Początkowo użyłem funkcji SRAND, która przeszła specyfikator typu danych niepodpisanych. Teraz zostanie wyświetlona tylko wartość nieujemna, i.mi., wartość dodatnia i zero, a czas nasion ustawiony na null. Następnie mamy instrukcję dla pętli, która zapętli cykl do 10 losowych wartości. Polecenie Cout rzuca typ danych pływakowych za pomocą metody RAND.

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

Cout<<"The Random numbers lies between 0 and 1:"<SRAND ((niepodpisany) czas (null));
dla (int n = 0; n < 10; n++)

Cout << (float) rand()/RAND_MAX << endl;

powrót 0;

Dane wyjściowe programu to liczby losowe, które leżą między wartościami 0 i 1, które są ułamkami. Jeśli nie rzucimy wyniku powrotu metody rand () do pływania, 0 zostanie uzyskane jako liczba losowa.

Wniosek

Dlatego możemy tworzyć losowe liczby w C ++, wykorzystując dwie metody, rand () i srand (). Metoda srand () zapewnia ziarno tworzenia liczb losowych, podczas gdy metoda rand () zapewnia sekwencję dla następnych liczb losowych. Omówiliśmy cztery kody ilustracyjne w celu wygenerowania liczb losowych w C++. Pokazaliśmy również, jak wypełnić losowe liczby całkowite w tablicy w obrębie zakresu.