KTLAN01

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

BÀI 1:(FILE-STRUCT-ARRAY-SORTING)

Viết chương trình quản lý điểm thi của sinh viên, thông tin về mỗi sinh viên được định nghĩa thông
qua cấu trúc sau:
struct sinhvien{
string masv; // mã sinh viên;
string malop; //mã lớp
string hoten; //họ tên sinh viên
float diemki; // điểm tổng kết kỳ 1
float diemkii;// điểm tổng kết kỳ 2
float diemtk; // điểm tổng kết cả năm
string xeploai; // xếp loại
};
typedef sinhvien SinhVien;
Dữ liệu danh sách sinh viên gồm một số sinh viên được lưu sẵn trong tập tin DataSV.txt
Dòng thứ 1 chứa số nguyên là số sinh viên sẽ được đọc vào biến nguyên n.
Từ dòng thứ 2 đến dòng thứ n+1 là mẫu tin sinh viên theo cấu trúc
sinhvien(masv,malop,hoten,diemki,diemkii) sẽ được đọc vào mảng(hay vector) n phần tử với các
phần tử có kiểu dữ liệu sinhvien.
Thuộc tính diemtk=(diemki+diemkii)/2 được tính khi có hai giá trị diemki và diemkii đọc từ file
(cho giá trị của điểm trong file luôn hợp lệ với giá trị từ 0-10).
Thuộc tính xeploai sẽ dựa theo diemtk vừa tính với các xếp loại như sau:
Nếu diemtk>=0 và diemtk<5: xeploai=YEU
Nếu diemtk>=5 và diemtk<6.5: xeploai=TB
Nếu diemtk>=6.5 và diemtk<9: xeploai=KHA
Nếu diemtk>=9 và diemtk<=10: xeploai=GIOI
DataSV.txt
(MASV,MALOP,HOTEN,DIEMKI,DIEMKII)
10
23110001,22110,Nguyen Van An,6.7,7.5
23110002,22110,Le Van Ba,9.7,8.5
23110003,22110,Pham Thi Tu,6.2,6.5
23110004,22110,Le Van Nam,5.7,6.3
23110005,22110,Tran Van Sau,8.7,9.5
23110006,22110,Nguyen Thi Sau,4.7,4.5
23110007,22110,Ho Thi Bay,5.7,7.5
23110008,22110,Do Minh Tam,5.7,4.5
23110009,22110,Pham Thi Chin,9.1,8.5
23110010,22110,Le Van Muoi,8.2,7.5

1. Đọc dữ liệu từ tập tin DataSV.txt vào trong một mảng lưu trữ n phần tử sinh viên có kiểu
SinhVien, ta gọi là ds_SV.
2. Sắp xếp ds_SV theo thứ tự giảm dần theo diemtk, và thực hiện xếp thứ tự sinh viên (thutu)
theo diemtk, kết quả sắp xếp và đã được xếp thứ tự ghi vào tập tin DataSV_OUT.txt

1
Đề 01-KTLT-17/04/2023
DataSV_OUT.txt
(MASV,MALOP,HOTEN,DIEMKI,DIEMKII,DIEMTK,XEPLOAI,THUTU)

BÀI 2 (backtracking):
Liệt kê tất cả các xâu nhị phân có độ dài 5 mà không có hai bits 1 đứng liền nhau.

Vậy có tất cả 13 xâu thỏa mãn bài toán. Đó là: 01000; 01001; 01010; 00100; 00101; 00010; 00000;
00001; 10010; 10000; 100001; 10100; 10101
Viết chương trình in ra các xâu nhị phân có độ dài 5 mà không có hai bits 1 đứng liền nhau. Dữ liệu
có thể đọc từ file input.txt (chứa n là giá trị số lượng n bits) và các xâu kết quả lưu ra file output.txt

2
Đề 01-KTLT-17/04/2023
BÀI 3: (Hàm sinh kế tiếp- next generation)
Cho danh sách bảng đấu bóng đá U23 Châu Á 2022
1-Uzbekistan, 2-Iran, 3-Qatar, 4-Turkmenistan
1-Austsralia, 2-Jordan, 3-Iraq, 4-Kuwait
1-Han Quoc, 2-Thai Lan, 3-Viet Nam, 4-Malaysia
1-Saudi Arabia, 2-UAE, 3-Nhat Ban, 4-Tajikistan
Trong dòng 3, cấu hình hiện tại là cặp thi đấu [2-Thái Lan, 3-Việt Nam], viết chương trình cho biết
cặp thi đấu kế tiếp là cặp nào trong 4 đội của bảng (chập k=2 của n=4).
Tập tin DSBangThiDau.txt chứa các thông tin sau:
424
3
23
1-Uzbekistan, 2-Iran, 3-Qatar, 4-Turkmenistan
1-Austsralia, 2-Jordan, 3-Iraq, 4-Kuwait
1-Han Quoc, 2-Thai Lan, 3-Viet Nam, 4-Malaysia
1-Saudi Arabia, 2-UAE, 3-Nhat Ban, 4-Tajikistan
Dòng 1: N K sobang // số N, số K , và số bảng thi đấu bang
Dòng 2: bang // bảng được chọn bang
Dòng 3: vt1 vt2 // đội có thứ tự vt1 và vt2 trong bảng được chọn (vt1,vt2 chọn trong khoảng từ 1
đến 4)
Dòng 4 trở đi , mỗi dòng là danh sách các đội trong bảng thi đấu tương ứng

Theo dữ liệu trên:


N=4; K=2; sobang=4
bang=3; chọn bảng 3 [1-Han Quoc, 2-Thai Lan, 3-Viet Nam, 4-Malaysia]
vt1=2; vt2=3 ; chọn hai đội 2-Thai Lan, 3-Viet Nam

Đáp án: cặp kế tiếp của cặp [2-Thái Lan, 3-Việt Nam], là cặp [2-Thái Lan, 4-Malaysia]

3
Đề 01-KTLT-17/04/2023

You might also like