Làm thế nào để in ra các giá trị trong mảng một cách ngẫu nhiên?

ai có cách j hay chỉ mình với

Dùng hàm rand() xem sao

Vẫn chưa hiểu ý bạn là như thế nào ?

  1. Tạo các giá trị ngẫu nhiên cho mảng ?
  2. 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.

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].

Fisher–Yates shuffle

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 đề :slight_smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?