Mọi người ơi, cho em hỏi thuật toán để xếp hạng n vận động viên dựa vào điểm số của họ :
mảng a[i] (0 <= i <= n-1) là điểm số của người thứ i
vậy làm sao tính được rank[i] (0 <= i <= n-1) là hạng của người thứ i ạ
( điểm số và hạng của các vận động viên có thể bằng nhau )
Xếp hạng thi đấu (c++)
Bạn có thể tạo 1 mảng mới lưu thứ hạng của các vận động viên
Bạn không cần sắp xếp mảng điểm
2 Likes
bạn nói rõ ra tí được không ạ ? Mình cần xếp hạng của n vận động viên vào mảng rank[]
VD: KQ là mảng kết quả của n (n=5 VĐV)
rank là hạng của các vdv, rank được tính toán dựa trên KQ
KQ = [10, 5, 8, 8, 9]
=> rank = [1, 5, 3, 3, 2]
=> Vận động viên thứ 5 có xếp hạng thứ rank[4] = 2
vận động viên xếp thứ nhất tức là rank[i] = 1 => i = 0 => là vận động viên đầu tiên sẽ xếp hạng 1
edit: rank[i] = count( KQ[j] > KQ[i] ) // đếm có bn phần tử KQ[j] > KQ[i], tự viết chứ k phải hàm có sẵn
3 Likes
cảm ơn bạn, mình đã làm được r
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?