Bắt cặp lần lượt các phần tử của list1 với một phần tử ngẫu nhiên của list2

Em đang bị tắc ở phần bắt cặp các phần tử trong list. Ai có thể gợi ý giúp em nên làm ntn không ạ

Cho mảng String như sau:

String names[] = {
"Hoàng Thị Anh Thư",
"Huỳnh Ái Nhi",
"Nguyễn Tố Uyên",
"Phạm Thị Giang",
"Nguyễn Thị Ánh Nguyệt",
"Phạm Nguyễn Tố Như",
"Lê Thị Thanh Thủy",
"Phạm Thị Quỳnh Anh",
"Phạm Thùy Linh",
"Lê Thị Mỹ Dung",
"Phạm Thị Hồng Nhung",
"Trương Hống Thắm",
"Phạm Thị Hoa",
"Hà Thúy Ngọc",
"Nguyễn Phương Dung",
"Ngô Văn Quân",
"Lê Tiến Đức",
"Hoàng Huy Hùng",
"Lê Tuấn Anh",
"Nguyễn Đức Huy",
"Phạm Văn Sơn",
"Lê Huy Thịnh",
"Lương Văn Tuyển",
"Phạm Văn Dũng",
"Tiêu Công Hưng",
"Nguyễn Viết Dương",
"Phạm Trung Kiên",
"Nguyễn Tấn Tài",
"Trần Tùng Lâm",
"Phạm Gia Nội",
"Phạm Văn Chiến",
"Nguyễn Văn Trung",
"Nguyễn Đức Cường",
};

Trộn List, chia các phần tử trong list vào 2 danh sách con sub1 và sub2, lần lượt các phần tử với index chẵn ở sub1, các phần tử với index lẻ ở sub2,
in ra lần lượt số lượng phần tử và các phần tử của sub1 và sub 2
bắt cặp lần lượt các phần tử của sub1 với một phần tử ngẫu nhiên của sub2 và in ra dưới dạng

name1 - name2
name1 - name2
name1 - name2

in ra các phần tử của sub2 mà không được bắt cặp
in ra 3 phần tử của sub2 mà được bắt cặp nhiều nhất (nhiều nhất xếp trước) kèm với số người muốn được bắt cặp
ví dụ:

Phạm Quỳnh Anh  - 5 người
Lê Thu Thủy     - 3 người

Lặp lại quá trình trộn list, chia list và bắt cặp bên trên 100 lần (không in danh sách trong khi thực hiện)
cộng dồn số lần được bắt cặp trong 100 lần thử của từng người
tìm ra người được bắt cặp nhiều nhất và ít nhất (in kèm theo số lần tương ứng)

Cái đề nó rõ thế mà, cũng có gì khó đâu. Bạn bí ở chỗ nào?

Bắt cặp nó thì phải làm ntn

Lấy lần lượt từng phần tử của sub1 bắt cặp với phần tử sub2 bằng randon index của sub2

Tạo mảng mới để lưu index lẻ sub1, index chẵn sub2
Ví dụ:
arr[]={"Hoàng Thị Anh Thư","Lê Thị Thanh Thủy", "Lê Thị Mỹ Dung", "Ngô Văn Quân"}
như vậy “Hoàng Thị Anh Thư” thuộc sub1 bắt cặp với “Lê Thị Thanh Thủy” sub2
“Lê Thị Mỹ Dung” thuộc sub1 bắt cặp với “Ngô Văn Quân” ở sub2
.
.
.

1 Like

Mình thấy có thể dùng shuffle được mà nhưng sao lại phải cồng kệnh radom index làm gì.

uh đó là tùy cách làm của bạn, bản chất của shuffle cũng là random index của array thôi, nếu bạn dùng shuffle cũng k có gì sai cả. Một bài toán đâu nhất thiết phải có 1 cách làm đâu đúng không.
Chúc bạn giải tốt

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