Hỏi thuật toán sắp xếp mảng cấu trúc

Mn cho em hỏi, em có một bài như vầy:

Ví dụ như em có 1 mảng cấu trúc danh sách sinh viên gồm họ tên, mssv và điểm trung bình, hãy sắp xếp mảng theo điểm trung bình tăng dần, nếu điểm trung bình trùng nhau thì sắp xếp theo mssv tăng dần. Sắp xếp điểm tb thì em làm được, nhưng em không nghĩ ra cách nào để sắp xếp theo mssv đối với những sinh viên có điểm tb trùng nhau ấy? Ví dụ như có 10 sinh viên: 5 sinh viên 7 điểm, 2 sinh viên 8 điểm, 3 sinh viên 9 điểm. Làm sao để tách từng cụm ra để sắp xếp theo mssv ấy, em nghĩ mãi không ra :frowning:

Mong các cao nhân giúp đỡ :frowning:
Em cảm ơn nhiều ạ!!

Nếu bằng ĐTB thì SV có MSSV bé hơn sẽ xếp trên. Không cần phải gom lại.

2 Likes

Ví dụ MSSV sắp xếp lộn xộn ấy ạ, điều kiện bắc buộc là phải sắp xếp điểm TB trước, đối với những SV có điểm TB giống nhau thì sắp xếp theo MSSV tăng dần ạ.

Tức là hàm so sánh sẽ chia thành 3 trường hợp ứng với >, < và ==. Trường hợp đtb bằng nhau thì mới xét MSSV.

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