[10069] Sắp xếp điểm số bằng thủ tục hoán vị tự viết
Xem dạng PDF🤔 Mô tả bài toán:
Hệ thống cần sắp xếp danh sách N điểm số theo thứ tự giảm dần. Bạn không được dùng hàm std::swap hay std::sort có sẵn, mà phải tự viết hàm đổi chỗ.
Yêu cầu: Viết thủ tục void hoanVi(double &x, double &y) sử dụng tham chiếu để đổi chỗ hai số thực. Cài đặt thuật toán sắp xếp nổi bọt (Bubble Sort) sử dụng thủ tục này. Đọc điểm số từ tệp SWAPSORT.INP ghi kết quả ra tệp SWAPSORT.OUT.
💾 Dữ liệu vào:
Cho từ tệp văn bản SWAPSORT.INP có dạng:
- Dòng 1 chứa số nguyên N (1 <= N <= 1000).
- Dòng 2 chứa N số thực điểm số.
💻 Dữ liệu ra:
Ghi ra tệp văn bản SWAPSORT.OUT gồm một dòng duy nhất chứa Dãy điểm số sau khi đã sắp xếp giảm dần cách nhau bởi dấu cách (lấy 1 chữ số thập phân).
🔍 Ví dụ:
| SWAPSORT.INP | SWAPSORT.OUT |
|---|---|
| 4 8.2 9.5 7.0 8.5 | 9.5 8.5 8.2 7.0 |
📌 Ràng buộc dữ liệu:
+ Không có ràng buộc đặc biệt nào.
⚠️ Lưu ý về File I/O:
Bài tập yêu cầu đọc dữ liệu từ tệp tin SWAPSORT.INP và xuất kết quả ra tệp tin SWAPSORT.OUT.
Lưu ý: Vui lòng dùng freopen bình thường để đọc ghi (như code mẫu khi chấm Themis).
Mẹo: Bạn hoàn toàn có thể dùng lệnh ios_base::sync_with_stdio(false); cin.tie(NULL); đi kèm với freopen để tăng tốc độ đọc ghi dữ liệu lớn!
Bình luận