0 k thích
322 đã xem
trong Cố vấn học tập bởi (200 điểm)
thầy ơi cho em hỏi: " em muốn random cho mảng với những số khác 0 thì phải làm sao?

2 Trả lời

+2 k thích
bởi (1.2k điểm)
Chào bạn !

Mình cũng xin trả lời trước khi thầy trả lời như sau :

Bạn có thể modulo ví dụ từ (1, 5) srand(time(null)) % 5 + 1 .

Còn nếu bạn có 1 mảng số: a[1; 2; 3; 5; 7; 9] (6 phần tử) thì bạn random thứ tự mảng , ví dụ a[ rand() % 6 ] = ?

Hy vọng có thể giúp ích cho bạn !
+2 k thích
bởi (3.2k điểm)
đã sửa bởi

Chào bạn!

+     note: rand() ϵ N, cụ thể là [0, RAND_MAX]

1.    random số nguyên trong đoạn [a, b]: x = rand() % ( b - a + 1) + a;  a, b ϵ Z, a ≤ b ⇒ x ϵ Z

2.    các trường hợp đặc biệt:

           -     random số khác 0 (x > 0) -> tương đương a = 1 và b = + vô cùng:     x = rand() + 1;

           -     random số khác 0 (x < 0) -> đổi dấu của công thức trên:      x = - (rand() + 1);

           -     random số nhỏ hơn N -> tương đương a = 0, b = N - 1:     x = rand() % N;

           -     random số nhỏ hơn hoặc bằng N -> tương đương a = 0, b = N: x = rand() % (N + 1);

3.    random số thực trong đoạn [0, 1]: f = rand() * 1.0 / RAND_MAX;

⇒ random số thực trong đoạn [a, b]: x = f * (b - a) + a;

smileyHy vọng giúp được cho bạn. smiley

P/s: câu hỏi này bạn nên post ở Kiến thức CNPM chứ không phải ở Giáo-viên-hướng-dẫn nhé

Chào mừng đến với Q&A FIT. Bạn có thể đặt câu hỏi và nhận được câu trả lời từ các bộ phận hỗ trợ và những thành viên khác tại Khoa Công nghệ Thông tin, Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia TP.HCM. Bạn hãy đăng nhập bằng tài khoản Google để gửi hoặc trả lời các câu hỏi.
...