Informatică Programare
Cum se genereaza numere aleatoare in C++?
Generarea numerelor aleatoare în C++ se face folosind biblioteca <random> pentru valori de calitate sau rand() pentru rapiditate. Este esențială pentru simulări, jocuri și teste.
Metode comune
- Cu rand() Include <cstdlib> și <ctime>: srand(time(0)); int x = rand() % 100; generează 0-99.
- Cu <random> Folosești std::mt19937: std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> dis(1, 10); int y = dis(gen);
- Numere reale Pentru float: std::uniform_real_distribution<float> dis(0.0, 1.0); float z = dis(gen);
Exemple practice
- 1 Exemplu simplu #include <iostream> #include <cstdlib> #include <ctime> int main() { srand(time(0)); cout << rand() % 6 + 1; } // zar 1-6
- 2 Exemplu avansat #include <random> std::mt19937 gen(std::random_device{}()); std::uniform_int_distribution<int> dist(10, 20); cout << dist(gen); // 10-20
- 3 Evită erorile Nu apela srand() de multe ori; o dată la începutul programului e suficient.
Pentru aplicații serioase, preferă <random>; pentru exerciții rapide, rand() e suficient.