Ragazzi non riesco a capire come funziona il generatore di numeri casuali in C++. Considerando queste due funzioni:
codice:
void rand_seed()
{
int seed = static_cast<int>(time(0));
srand(seed);
}
int rand_int(int a, int b)
{
return a + rand() % (b - a + 1);
}
Qualcuno potrebbe spiegarmi per bene come funzionano e come fanno a generare numeri casuali? Ad esempio nel seguente codice utilizzando queste due funzioni vengono generati 20 numeri casuali compresi tra 1 e 100... Come funziona il tutto?
codice:
int main()
{
rand_seed();
vector<int> v(20);
for (int i = 0; i < v.size(); i++)
v[i] = rand_int(1, 100);
print(v);
return 0;
}