@watus1992r: Coś takiego?
Jeżeli tylko raz korzystasz z funkcji rand w programie:
#include <iostream>
#include <cstdlib>
#include <ctime>
int MinMaxRandom(int MIN, int MAX)
{
srand(time(NULL));
return (std::rand() % (MAX - MIN + 1)) + MIN;
}
int main()
{
std::cout << MinMaxRandom(10, 50);
}
Jeżeli korzystasz z funkcji kilka razy, to wyrzuć srand(time(NULL));
poza funkcję:
#include <iostream>
#include <cstdlib>
#include <ctime>
int MinMaxRandom(int MIN, int MAX)
{
return (std::rand() % (MAX - MIN + 1)) + MIN;
}
int main()
{
srand(time(NULL));
std::cout << MinMaxRandom(10, 50) << '\n';
std::cout << MinMaxRandom(20, 53) << '\n';
std::cout << MinMaxRandom(1, 2) << '\n';
}
Jeżeli chcesz od razu kilka razy wylosować, to np.:
#include <iostream>
#include <cstdlib>
#include <ctime>
int MinMaxRandom_repeated(int MIN, int MAX, int repeat)
{
int * numbers = new int[repeat];
for (int i=0; i < repeat; i++)
{
numbers[i] = (std::rand() % (MAX - MIN + 1) + MIN);
std::cout << "numbers[" << i << "] = " << numbers[i] << '\n';
}
return numbers[repeat];
}
int main()
{
srand(time(NULL)); rand();
MinMaxRandom_repeated(5, 105, 7); // losujesz 7 liczb z przedziału <5; 105>
}