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é.”

 

doc2 trang | Chuyên mục: C/C++ | Chia sẻ: dkS00TYs | Lượt xem: 2513 | Lượt tải: 3download
Tóm tắt nội dung Bài thực hành Kỹ thuật lập trình C++ - Tuần 5, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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:

  • docBài thực hành Kỹ thuật lập trình C++ - Tuần 5.doc
  • rarCode.rar