Phân bố phòng thi Một trường học có n lớp, mỗi lớp có x bạn học sinh
Trả lời Câu Fcs36 trang 59 SBT Tin học 11 sách Cánh diều hay nhất, chi tiết sẽ giúp học sinh dễ dàng làm bài tập Tin học 11.
Giải SBT Tin học 11 Bài 8: Lập trình một số thuật toán sắp xếp
Câu Fcs36 trang 59 SBT Tin học 11: Phân bố phòng thi
Một trường học có n lớp, mỗi lớp có x bạn học sinh. Giả sử tên khai sinh của các bạn chỉ gồm hai tiếng: họ (một tiếng) và tên (một tiếng).
Sắp diễn ra kiểm tra cuối kì II, nhà trường yêu cầu phòng Công nghệ thông tin tạo danh sách phòng thi. Đầu tiên, nhà trường sẽ sắp xếp danh sách phần tên trong họ tên các bạn theo thứ tự từ điển, nếu trùng tên sẽ sắp xếp theo họ. Sau đó, các bạn sẽ lần lượt được phân vào phòng thi theo thứ tự này, mỗi phòng thi có đúng m bạn, riêng phòng cuối có thể ít hơn m bạn.
Ví dụ, phòng thi có bốn bạn. Có hai lớp, lớp 11A có ba bạn là: “Đỗ Nhỏ”, “Lê Hiếu” và “Lê Đức”. Lớp 11B có ba bạn là: “Đặng Hiếu”, “Lê Quý” và “Lê Hân”. Khi đó, danh sách các bạn trong hai lớp này theo thứ tự sắp xếp là: [Lê Đức, Lê Hân, Đặng Hiếu, Lê Hiếu, Đỗ Nhỏ, Lê Quý]. Ta có thể phân thành hai phòng và xếp bốn bạn đầu danh sách đã sắp xếp vào phòng 1, hai bạn còn lại vào phòng 2.
Em được cho danh sách học sinh của mỗi lớp. Em hãy tạo danh sách phòng thi. Dữ liệu: Nhập từ tệp danhsach.txt:
- Dòng đầu tiên gồm hai số nguyên dương n, m là số lượng lớp trong trường và số học sinh trong phòng thi.
- n cụm dòng tiếp theo, mỗi cụm dòng thứ i có dạng như sau:
Dòng đầu tiên chứa số x là số lượng học sinh trong lớp thứ i.
- x dòng tiếp theo, mỗi dòng gồm hai xâu cách nhau một khoảng trắng, mỗi xâu không chứa khoảng trắng và chỉ chứa kí tự trong bảng chữ cái tiếng Việt. Hai xâu này lần lượt là họ và tên của một bạn học sinh trong lớp.
Kết quả: Đưa ra tệp phongthi.txt:
- Dòng đầu tiên in ra c là số lượng phòng thi.
- cụm dòng tiếp theo tương ứng với c phòng thi, mỗi phòng thi in ra những dòng sau:
- Dòng đầu tiên chứa số nguyên k là số lượng thí sinh trong phòng.
k dòng theo thứ tự từ điển, mỗi dòng chứa họ và tên của các bạn học sinh trong phòng thi.
Cần đảm bảo thứ tự xuất hiện của các dòng họ và tên phải theo thứ tự từ điển.
Lời giải:
Khai báo thư viện locale, sau đó khai báo sử dụng ngôn ngữ tiếng Việt bằng câu lệnh: locale.setlocale(locale.LC_ALL, "vi_VN"). Để so sánh hai xâu, sử dụng hàm locale.strcoll(s1, s2) . Hàm sẽ trả về một số âm nếu xâu s1 đứng trước xâu s2, số 0 khi hai xâu bằng nhau và số dương nếu xâu s2 đứng trước xâu s1.
Đầu tiên, em nhập toàn bộ danh sách học sinh các lớp và gom hết vào một mảng. Sau đó, em tiến hành sắp xếp nổi bọt nhưng việc so sánh sẽ phức tạp hơn: so sánh phần tên trước, nếu phần tên bằng nhau sẽ so sánh phần họ. Tiếp theo, em lần lượt đưa học sinh vào các phòng thi. Em tạo hai danh sách, một mảng allRoom dùng để chứa toàn bộ danh sách thí sinh từng phòng thi và một danh sách currentRoom dùng để lưu thông tin thí sinh của phòng thi hiện tại đang xếp. Khi phòng currentRoom xếp đủ m người, em đẩy toàn bộ phòng thi đã xếp xong này vào trong allRoom, sau đó xoá currentRoom để bắt đầu xếp phòng khác.
Cuối cùng, em in ra như đề bài.
Xem thêm các lời giải sách bài tập Tin học lớp 11 Cánh diều hay, chi tiết khác:
Câu Fcs32 trang 57 SBT Tin học 11: Phân loại hoá chất...
Câu Fcs33 trang 57 SBT Tin học 11: Số lần đổi chỗ....
Câu Fcs34 trang 58 SBT Tin học 11: Sắp xếp tên sách tiếng Anh...
Câu Fcs35 trang 59 SBT Tin học 11: Sắp xếp tiếng Việt...
Câu Fcs36 trang 59 SBT Tin học 11: Phân bố phòng thi...
Xem thêm các lời giải sách bài tập Tin học lớp 11 Cánh diều hay, chi tiết khác:
Bài 9: Lập trình sắp xếp nhanh
Bài 15: Cấu trúc dữ liệu danh sách liên kết và ứng dụng
Bài 1: Một số thao tác chỉnh sửa ảnh và hỗ trợ chỉnh sửa ảnh trong phần mềm GIMP
Xem thêm các chương trình khác:
- Soạn văn lớp 11 Cánh diều (hay nhất)
- Văn mẫu lớp 11 - Cánh diều
- Tóm tắt tác phẩm Ngữ văn 11 – Cánh diều
- Tác giả tác phẩm Ngữ văn 11 - Cánh diều
- Giải SBT Ngữ văn 11 – Cánh diều
- Bố cục tác phẩm Ngữ văn 11 – Cánh diều
- Giải Chuyên đề học tập Ngữ văn 11 – Cánh diều
- Nội dung chính tác phẩm Ngữ văn lớp 11 – Cánh diều
- Soạn văn 11 Cánh diều (ngắn nhất)
- Giải sgk Toán 11 – Cánh diều
- Giải Chuyên đề học tập Toán 11 – Cánh diều
- Lý thuyết Toán 11 - Cánh diều
- Giải sbt Toán 11 – Cánh diều
- Giải sgk Tiếng Anh 11 – ilearn Smart World
- Giải sbt Tiếng Anh 11 - ilearn Smart World
- Trọn bộ Từ vựng Tiếng Anh 11 ilearn Smart World đầy đủ nhất
- Giải sgk Vật lí 11 – Cánh diều
- Lý thuyết Vật lí 11 – Cánh diều
- Giải sbt Vật lí 11 – Cánh diều
- Giải Chuyên đề học tập Vật lí 11 – Cánh diều
- Giải sgk Hóa học 11 – Cánh diều
- Giải Chuyên đề học tập Hóa học 11 – Cánh diều
- Lý thuyết Hóa 11 - Cánh diều
- Giải sbt Hóa học 11 – Cánh diều
- Giải sgk Sinh học 11 – Cánh diều
- Lý thuyết Sinh học 11 – Cánh diều
- Giải Chuyên đề học tập Sinh học 11 – Cánh diều
- Giải sbt Sinh học 11 – Cánh diều
- Giải sgk Giáo dục Kinh tế và Pháp luật 11 – Cánh diều
- Giải Chuyên đề học tập Kinh tế pháp luật 11 – Cánh diều
- Lý thuyết Kinh tế pháp luật 11 – Cánh diều
- Giải sbt Kinh tế pháp luật 11 – Cánh diều
- Giải sgk Lịch sử 11 – Cánh diều
- Giải Chuyên đề học tập Lịch sử 11 – Cánh diều
- Lý thuyết Lịch sử 11 - Cánh diều
- Giải sbt Lịch sử 11 – Cánh diều
- Giải sgk Địa lí 11 – Cánh diều
- Giải Chuyên đề học tập Địa lí 11 – Cánh diều
- Lý thuyết Địa lí 11 - Cánh diều
- Giải sbt Địa lí 11 – Cánh diều
- Giải sgk Công nghệ 11 – Cánh diều
- Lý thuyết Công nghệ 11 - Cánh diều
- Giải sbt Công nghệ 11 – Cánh diều
- Giải sgk Giáo dục quốc phòng an ninh 11 – Cánh diều
- Lý thuyết Giáo dục quốc phòng 11 – Cánh diều
- Giải sbt Giáo dục quốc phòng 11 – Cánh diều
- Giải sgk Hoạt động trải nghiệm 11 – Cánh diều