Uzupełnianie tablicy losowymi liczbami

0

Witam, mam następujący problem, wykonałem funkcję, która tworzy tablice jednowymiarową o zadeklarowanej na początku wielkości (#define ROZMIAR x), następnie inna już funkcja wypisuje tę tablicę w postaci Tab = [x y z] itd., kolejna funkcja podaje liczbę dodatnich jak i ujemnych wyrazów, liczy sumę i średnią tych wyrazów oraz podaje monotoniczność tablicy. Oczywiście wszystko jest potem wywoływane w mainie. Kolejnym zadaniem jest poproszenie użytkownika o podanie dwóch skrajnych liczb przedziału [min,max] a następnie stworzenie tablicy o zdefiniowanej liczbie elementów, wypełnionej losowymi liczbami, by znów podać jej liczbę dodatnich i ujemnych wyrazów etc. no i tu pojawia się problem, bo nie mam pomysłu jak to zrealizować. Jak na razie doszedłem do czegoś takiego i nie wiem jak ruszyć dalej. Z góry dziękuję za ewentualną pomoc.

int losowanie()
{
double min, max;
cout << "\nPodaj minimalna liczbe:";
cin >> min;
cout << "\nPodaj maksymalna liczbe:";
cin >> max;
srand (time(NULL));
losowa = min + (max – min)*rand()/((double)RAND_MAX); 
}
1

Zupełnie nie rozumiem tego odczasownikowego nazywania funkcji :​/

Przede wszystkim, poczytaj o przekazywaniu argumentów do funkcji: Przekazywanie parametru przez wartość i referencję
Potem zaprzestań używania rand(): https://dsp.krzaq.cc/post/180/nie-uzywaj-rand-cxx-ma-random/

Przykład dla std::array:


void losuj(array<int, 20>& arr, int min, int max)
{
    mt19937 gen{random_device{}()};
    uniform_int_distribution<> dis(min, max);
    generate(arr.begin(), arr.end(), [&]{ return dis(gen); });
}

https://wandbox.org/permlink/IM06Wu8ymiDUK6D3

1 użytkowników online, w tym zalogowanych: 0, gości: 1