In ra các giá trị ngẫu nhiên trong một mảng cho trước ?
Nếu là ý số 1) thì bạn dùng hàm random trong ngôn ngữ mà bạn đang dùng để gán các arr[i] bằng các giá trị random đó.
Còn ý thứ 2) ví như cho một arr = {1, 0, -5, 11, 0, 7, 100, 55} và yêu cầu in ra ngẫu nhiên các giá trị của arr. Ý tưởng cũng dùng hàm radom nhưng sẽ radom các index của arr, ví dụ arr hiện đang có 8 phần tử và index của nó là từ 0 đến 7 mình sẽ random ra một số nguyên indexR bất kỳ từ 0 đến 7 rồi xuất cái arr[indexR] ra.
bạn có thể tham khảo thuật toán Fisher–Yates shuffle, ý tưởng rất đơn giản thôi duyện mảng từ cuối lại, tại mỗi phần tử random ra một số j trong khoảng [0, i], đổi chỗ a[i] và a[j].
demo: https://bost.ocks.org/mike/shuffle/
hinhf nghĩ bạn hoàn toàn có thể dựa trên ý tưởng này để giả quết vấn đề
Dùng hàm rand() xem sao
Vẫn chưa hiểu ý bạn là như thế nào ?
Nếu là ý số 1) thì bạn dùng hàm random trong ngôn ngữ mà bạn đang dùng để gán các arr[i] bằng các giá trị random đó.
Còn ý thứ 2) ví như cho một arr = {1, 0, -5, 11, 0, 7, 100, 55} và yêu cầu in ra ngẫu nhiên các giá trị của arr. Ý tưởng cũng dùng hàm radom nhưng sẽ radom các index của arr, ví dụ arr hiện đang có 8 phần tử và index của nó là từ 0 đến 7 mình sẽ random ra một số nguyên indexR bất kỳ từ 0 đến 7 rồi xuất cái arr[indexR] ra.
Câu hỏi 1: Ngôn ngữ gì?
bạn có thể tham khảo thuật toán Fisher–Yates shuffle, ý tưởng rất đơn giản thôi duyện mảng từ cuối lại, tại mỗi phần tử random ra một số j trong khoảng [0, i], đổi chỗ a[i] và a[j].
demo: https://bost.ocks.org/mike/shuffle/
hinhf nghĩ bạn hoàn toàn có thể dựa trên ý tưởng này để giả quết vấn đề