Nội dung Bài tập
Mã:
1921_OOP_Mid_Remake_2_2
Tên:
Câu 2
Dạng thi:
oi
Thang điểm:
5 điểm
Giới hạn thời gian:
1 giây
Giới hạn bộ nhớ:
256 MB
Được tạo bởi:
khiet

Câu 02: (5.0 đ): Xây dựng lớp đối tượng Student như yêu cầu trên. Bổ sung cho lớp Student các hàm sau:

-          Quá tải toán tử [ ] để lấy giá trị theo Mã số sinh viên

-          Quá tải toán tử  <  theo yêu cầu sau:

o   Sinh viên nào có AvgScore nhỏ hơn thì nhỏ hơn

o   Nếu hai sinh viên có cùng AvgScore thì sinh viên nào có MSSV theo thứ tự từ điển nhỏ hơn thì nhỏ hơn

(Thứ tự từ điển giữa hai chuỗi: Chuỗi nào có độ dài ngắn hơn thì có thứ tự từ điển nhỏ hơn, nếu hai chuỗi có độ dài bằng nhau thì xét: Giả sử hai chuỗi s và t có cùng độ dài, nếu tồn tại một vị trí i (1 <= i <= length) sao cho s[i] < t[i] (xếp theo thứ tự trong bảng mã ASCII) thì s < t. Ví dụ:

            zz < aaaaaa (zz có độ dài là 2 còn aaaaaa có độ dài là 6)

            zza < zzb ( zza có độ dài bằng zzb ta xét thấy vị trí thứ 3 a < b nên zza < zzb)

Gợi ý: C++ cho phép so sánh 2 chuỗi theo thứ tự từ điển

)

Input:

-          Dòng đầu tiên chứa số nguyên cn lần lượt là số lượng sinh viên và số lượng bài trong bài thi 

-          c dòng tiếp theo mỗi dòng chứa lần lượt Mã số sinh viên, theo sau mã số là danh sách điểm của sinh viên kết thúc bằng -1

-          Dòng cuối chứa một chuỗi s và số nguyên r lần lượt là mã số sinh viên và thứ tự cần truy vấn theo xếp hạng

Output:   

-          Xuất thông tin của sinh viên có mã số s

-          Xuất id của sinh viên có thứ tự r sau khi đã sắp xếp

(Xem ví dụ để hiểu rõ)

Ví dụ 1:


Input

Output

4 5

S01 5 5.5 2.5 3.5 6.5 -1

S02 1.3 2.35 3 -1

S03 9 10 6.55 7 8.5 -1

S04 3 4 5.5 8 5.6 1.5 -1

S03 2 

S03-5-8.21

S01

Ví dụ 2:


Input

Output

4 5

S04 3 4 5.5 8 5.6 1.5 -1

S01 5 5.5 2.5 3.5 6.5 -1

S03 5.5 5 3.5 2.5 6.5 -1

S02 1.3 2.35 3 -1

S03 2

S03-5-4.6

S01

    Quảng cáo
       Ngôn ngữ : 

       Theme : 
Mời bạn soạn code



		



      Ai có thể xem bài này : 

Thông tin



Phần thảo luận