Nội dung Bài tập
Mã:
LTNC_20_HK2_Cau1.2
Tên:
LTNC_20_HK2_Cau1.2
Dạng thi:
oi
Thang điểm:
4 đ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:
phucnq

Câu 1: (4.0 điểm)

Yêu cầu phải sử dụng vector để thực hiện các yêu cầu sau:
Xây dựng cấu trúc PhanSo để lưu trữ các phân số (gồm 2 thành phần tử và mẫu là các số nguyên không âm)
1. (1.0 điểm) Nhập vào danh sách các phân số và xuất chúng theo thứ tự: các phân số nhập vào theo thứ tự lẻ rồi đến các phân số được nhập vào theo thứ tự chẵn.
2. (1.0 điểm) Ta quy ước: phân số được gọi là phân số đẹp nếu chúng có cả tử và mẫu đều là số chẵn. Còn lại sẽ là phân số xấu.
2.1. Hãy tìm phân số đẹp lớn nhất, tính tổng các phân số đẹp.
2.2. Hãy tìm phân số xấu nhỏ nhất, tính tích các phân số xấu.
3. (1.0 điểm)
3.1. Xuất danh sách phân số đẹp theo thứ tự tăng dần.
3.2. Xuất danh sách phân số xấu theo thứ tự giảm dần.
4. (1.0 điểm) Xuất danh sách phân số ban đầu theo quy tắc: Nửa đoạn đầu được sắp xếp tăng dần, nửa đoạn cuối được sắp xếp giảm dần. Nếu nửa đoạn đầu và nửa đoạn cuối có số lượng phần tử không bằng nhau thì quy ước nửa đoạn đầu sẽ nhiều hơn nửa đoạn sau 1 phần tử.

Lưu ý: Vì không rút gọn nên nếu có 2 phân số có giá trị bằng nhau thì phân số nào có tử bé hơn sẽ coi như "bé hơn", nếu tử của 2 phân số vẫn bằng nhau thì phân số nào có mẫu lớn hơn sẽ coi như "bé hơn". Ví dụ: Do 1/2, 5/10, 3/6 đều có giá trị bằng nhau (đều cùng bằng 0.5). Nhưng khi sắp xếp tăng dần thì thứ tự đúng sẽ là: 1/2 3/6 5/10. Còn sắp xếp giảm dần thì kết quả là: 5/10 3/6 1/2

Input: Dữ liệu nhập từ file EM_SE_CO_GANG_LAM_BAI_TOT.INP
  • Gồm nhiều dòng, mỗi dòng gồm 2 số nguyên cách nhau 1 khoảng trắng là tử và mẫu của phân số.

Output: Dữ liệu xuất ra file EM_XIN_HUA_LAM_BAI_NGHIEM_TUC.OUT
  • Dòng 1: xuất chuỗi: "yeu cau 1:" (không xuất dấu ngoặc kép)
  • Dòng 2: xuất dữ liệu theo yêu cầu 1 ở trên. Mỗi phân số xuất theo định dạng: tử/mẫu
  • Dòng 3: xuất chuỗi: "yeu cau 2:" (không xuất dấu ngoặc kép)
  • Dòng 4: xuất phân số đẹp lớn nhất và tổng các phân số đẹp (rút gọn phân số tổng tìm được)
  • Dòng 5: xuất phân số xấu nhỏ nhất và tích các phân số xấu (rút gọn phân số tích tìm được)
  • Dòng 6: xuất chuỗi: "yeu cau 3:" (không xuất dấu ngoặc kép)
  • Dòng 7: xuất danh sách các phân số đẹp theo thứ tự tăng dần
  • Dòng 8: xuất danh sách các phân số xấu theo thứ tự giảm dần
  • Dòng 9: xuất chuỗi: "yeu cau 4:" (không xuất dấu ngoặc kép)
  • Dòng 10: xuất dữ liệu theo yêu cầu số 4 ở trên.

Ví dụ:

EM_SE_CO_GANG_LAM_BAI_TOT.INP

EM_XIN_HUA_LAM_BAI_NGHIEM_TUC.OUT

1 2

2 3

2 4

4 3

3 5

8 2

yeu cau 1:

1/2 2/4 3/5 2/3 4/3 8/2

yeu cau 2:

8/2 9/2

1/2 4/15

yeu cau 3:

2/4 8/2

4/3 2/3 3/5 1/2

yeu cau 4:

1/2 2/4 2/3 8/2 4/3 3/5


Lưu ý quan trọng (để có thể kiếm điểm theo từng yêu cầu): 
  • Có thể bỏ qua bất cứ yêu cầu nào (do không biết làm).
  • Ví dụ có thể nộp output như sau:

EM_SE_CO_GANG_LAM_BAI_TOT.INP

EM_XIN_HUA_LAM_BAI_NGHIEM_TUC.OUT

1 2

2 3

2 4

4 3

3 5

8 2

yeu cau 1:

1/2 2/4 3/5 2/3 4/3 8/2

yeu cau 4:

1/2 2/4 2/3 8/2 4/3 3/5


Bài làm trên chỉ nộp output yêu cầu 1 và yêu cầu 4 => vẫn được chấm theo thang điểm ở trên nếu cả 2 câu trả lời của 2 yêu cầu này chính xác.

  • Nộp output như sau là không hợp lệ (do đảo lộn thứ tự yêu cầu của đề bài):

EM_SE_CO_GANG_LAM_BAI_TOT.INP

EM_XIN_HUA_LAM_BAI_NGHIEM_TUC.OUT

1 2

2 3

2 4

4 3

3 5

8 2

yeu cau 4:

1/2 2/4 2/3 8/2 4/3 3/5

yeu cau 1:

1/2 2/4 3/5 2/3 4/3 8/2


  • Nếu nộp nhiều hơn 1 yêu cầu thì phải đúng hết mới được tính điểm.



    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