Bài viết thảo luận về hoạt động, cú pháp và ví dụ của rand() và srand() trong C++ STL.
rand() là gì?
rand() là hàm nội tại trong C++ STL, định nghĩa trong
Số ngẫu nhiên được sinh bởi thuật toán cho dãy số không liên quan mỗi lần gọi.
VD: sinh số 1-6: Num = rand() % 6 + 1;
Cú pháp
int rand();
Tham số
Không nhận tham số.
Giá trị trả về
Số nguyên từ 0 đến RAND_MAX.
Đầu vào rand() % 100 + 1; Đầu ra 57
Ví dụ
#include#include int main(void){ printf("Randomly generated numbers are: "); for(int i = 0; i < 5; i++) printf(" %d ", rand()); return 0; }
Kết quả
Lần đầu chạy:
Randomly generated numbers are: 1804289383 846930886 1681692777 1714636915 1957747793
Lần thứ N chạy: (giống hệt lần đầu)
Randomly generated numbers are: 1804289383 846930886 1681692777 1714636915 1957747793
srand() là gì?
srand() là hàm nội tại C++ STL, định nghĩa trong
Cú pháp
int srand(unsigned int seed);
Tham số
- seed – số nguyên dùng làm seed cho bộ sinh số giả ngẫu nhiên.
Giá trị trả về
Số giả ngẫu nhiên.
Đầu vào srand(time(0)); rand(); Đầu ra 1804289383
Ví dụ
#include#include #include int main(void){ srand(time(0)); printf("Randomly generated numbers are: "); for(int i = 0; i < 5; i++) printf(" %d ", rand()); return 0; }
Kết quả
Lần đầu:
Randomly generated numbers are: 382366186 1045528146 1291469435 515349891 931606430
Lần thứ hai:
Randomly generated numbers are: 1410939666 214525217 875042802 1560673843 782892338