Bài thực hành Kỹ thuật lập trình C++ - Tuần 5
Một ma trận gồm nhiều hàng và cột. Thông điệp (sau khi đã loại bỏ các khoảng trắng) vào từng hàng nếu đầy hàng thì xuống hàng kế tiếp. Sau khi đã ghi xong thì người ta ghi lại các từ đó theo cột vào gửi thông điệp đó đi. Ví dụ:
-“ Chiều nay chúng ta sẽ xem phim ở rạp REX nhé.”
Bài thực hành tuần 5 Bài 1. Viết chương trình gán những giá trị đặc biệt cho một mảng vuông. Các giá trị này bắt đầu từ 1 và tăng dần theo dạng sau: 1 2 3 1 2 3 4 8 9 4 12 13 14 5 7 6 5 11 16 15 6 10 9 8 7 Bài 2. Mật mã: Một ma trận gồm nhiều hàng và cột. Thông điệp (sau khi đã loại bỏ các khoảng trắng) vào từng hàng nếu đầy hàng thì xuống hàng kế tiếp. Sau khi đã ghi xong thì người ta ghi lại các từ đó theo cột vào gửi thông điệp đó đi. Ví dụ: -“ Chiều nay chúng ta sẽ xem phim ở rạp REX nhé.” - Giả sử ta chia làm 5 cột thì nó như sau: c h i e u n a y c h u n g t a s e x e m p h i m o r a p r e x n h e . Thông điệp được ghi như sau: “cnupxhanehaniygxiphectemreuhamoe.” Hãy viết chương trình mã hoá và giải mã thông điệp. Bài 3. Bài toán Josephus được phát biểu như sau: Có N người xếp thành vòng tròn được đánh số từ 1 đến N theo chiều kim đồng hồ(một người bất kì được chọn là người số 1). Sau đó người số 1 bắt đầu đếm từ số 1, người kế tiếp theo chiều kim đồng hồ(người số 2) đếm số 2,…, người nào đếm đến số K sẽ phải dời khỏi vòng. Người kế tiếp theo chiều kim đồng hồ sẽ lại bắt đầu đếm từ số 1 và trò chơi lại tiếp tục. Người cuối cùng còn lại sẽ là người thắng cuộc. Yêu cầu: Nhập từ bàn phím 2 số N và K(1<=N,K<=20), hãy mô phỏng lại quá trình trò chơi diễn ra bằng cách in ra những người còn lại trong vòng theo chiều kim đồng hồ qua mỗi lần đếm số từ 1 đến K, người nào đã rời khỏi vòng được thể hiện bằng dấu *. Chú ý: Cần căn cho các số giống nhau trên các hàng khác nhau được in ra thẳng hàng dọc. Ví dụ: Nhập vào In ra N = 4 K = 3 Lan 1 : 1 2 3 4 Lan 2: 1 2 * 4 Lan 3: 1 * * 4 Lan 4: 1 * * * Bài 4. Một lớp học có M sinh viên, mỗi sinh viên có những thông tin sau: Họ và tên sinh viên Ngày sinh Giới tính Điểm ngôn ngữ lập trình C++ Điểm môn toán Điểm môn ngoại ngữ Viết Project để quản lý sinh viên theo định dạng sau: + File sinhvien.h: Cấu trúc thông tin của sinh viên, khai báo số lượng sinh viên của một lớp (gọi số lượng sinh viên là NumberOfStudent). + File sinhvien.cpp: xây dựng các chức năng: Nhập thông tin cho sinh viên cho một lớp, hiển thị thông tin của từng sinh viên, cập nhật thông tin cho sinh viên, tính điểm trung bình cho mỗi sinh viên, xếp loại cho mỗi sinh viên, họ tên của từng sinh viên Trong file main.cpp các bạn hãy thực hiện các công việc sau: Nhập thông tin cho NumberOfStudent sinh viên (NumberOfStudent nhập từ bàn phím) Hiển thị họ tên của các sinh viên có điểm trung bình lớn hơn hoặc bằng 7. Viết hàm sắp xếp N sinh viên theo thứ tự tăng dần của điểm trung bình. In ra tất cả các sinh viên có điểm trung bình bằng x với x được nhập từ bàn phím Xóa một sinh viên ở vị trí thứ i ( giá trị của i được nhập từ bàn phím )
File đính kèm:
- Bài thực hành Kỹ thuật lập trình C++ - Tuần 5.doc
- Code.rar