mình học môn này đc 1 tuần rùi và tuần sau phải thi rùi vì học wa nhanh nên mình chưa hiểu nhìu lắm mà sách thì wa ít vi dụ mà mình thì lại ko muốn tốn mấy trăm ngàn để học lại môn này nên các bác ai có lòng giúp mình giải mấy bài ôn tập này với
cái này ko biết nên dùng mircosoft C++ hay dev C++ nữa
cái này ko biết nên dùng mircosoft C++ hay dev C++ nữa
Đề ôn thi thực hành môn CTDL
Lớp TH2007-KG
Đề 1:
Một phân số a/b (với a,b là số nguyên và b khác 0) được biểu diễn như một bản ghi có hai trường: Tử số và mẫu số. Hãy viết các khai báo thích hợp để cài đặt một danh sách liên kết chứa các phần tử là phân số. Dùng các khai báo đó để viết chương trình cho phép:
Tạo danh sách L rỗng.
Nhập một số phần tử (phân số) vào danh sách, lưu trữ theo thứ tự nhập vào.
In ra các tất cả phần tử trong danh sách.
Tìm kiếm và xóa các phần tử của danh sách có giá trị lớn hơn 1.
In lại danh sách sau khi xóa các phần tử nói trên.
Đề 2:
Một điểm trong mặt phẳng là một cặp giá trị thực (x,y). Một điểm được biểu diễn như một bản ghi có hai trường: x,y. Hãy viết các khai báo thích hợp để cài đặt một danh sách liên kết chứa các phần tử là điểm. Dùng các khai báo đó để viết chương trình cho phép:
Tạo danh sách rỗng.
Nhập một số phần tử (điểm) vào danh sách, lưu trữ theo thứ tự nhập vào.
In ra các tất cả phần tử trong danh sách.
Tìm kiếm và xóa các phần tử của danh sách là các điểm một tọa độ là 0.
In lại danh sách sau khi xóa các phần tử nói trên.
Đề 3:
Một điểm trong mặt phẳng là một cặp giá trị thực (x,y). Một điểm được biểu diễn như một bản ghi có hai trường: x,y. Hãy viết các khai báo thích hợp để cài đặt một danh sách liên kết chứa các phần tử là điểm. Dùng các khai báo đó để viết chương trình cho phép:
Tạo danh sách rỗng.
Nhập một số phần tử (điểm) vào danh sách, lưu trữ theo thứ tự ngược với thứ tự nhập vào.
In ra các tất cả phần tử trong danh sách.
Tìm kiếm và xóa các phần tử của danh sách là các điểm thuộc đường thẳng y=2x.
In lại danh sách sau khi xóa các phần tử nói trên.
Đề 4:
Hãy viết các khai báo và các thủ tục/hàm thích hợp để cài đặt một ngăn xếp chứa các kí tự. Dùng cấu trúc ngăn xếp đó để viết chương trình kiểm tra một chuỗi kí tự xem có phải là “chuỗi dấu ngoặc đúng” hay không. Chuỗi dấu ngoặc đúng là chuỗi mà các dấu mở khớp với các dấu đóng như trong biểu thức toán học.
Để đơn giản giả sử chuỗi nhập chỉ chứa các kí tự đóng, mở ngoặc. Ví dụ:
• Nhập vào ()() kết quả là: chuỗi dấu ngoặc đúng.
• Nhập vào (()) kết quả là: chuỗi dấu ngoặc đúng.
• Nhập vào )( kết quả là: không phải chuỗi dấu ngoặc đúng.
Gợi ý giải thuật kiểm tra: đọc lần lượt từng kí tự; khi gặp dấu ‘(‘ thì đưa vào stack; gặp dấu ‘)’ và stack không rỗng thì bỏ trên stack một phần tử. Nếu đọc hết chuỗi và stack rỗng thì đó là chuỗi dấu ngoặc đúng.
Đề 5:
Đề 6:
Hãy viết các khai báo thích hợp để cài đặt một cây tìm kiếm nhị phân chứa các khóa là số nguyên. Dùng các khai báo đó để viết chương trình cho phép:
Nhập vào một dãy khóa số nguyên, lưu trữ vào cây TKNP.
In ra biểu thức duyệt trung tự của cây.
Nhập vào một khóa x, thực hiện tìm kiếm x trên cây và thông báo kết quả tìm kiếm. Nếu tìm thấy thì thông báo “tìm thấy” và in ra giá trị của nút tại chổ tìm thấy. Nếu không tìm thấy thì thông báo “không tìm thấy”.
In ra số nút có hai nút con (không rỗng) trên cây.
In chiều cao của cây.
Đề 7:
Một điểm trong mặt phẳng được biểu diễn bằng một cặp tọa độ (x,y), với x,y là số thực. Như vậy, có thể cài đặt điểm như là một bản ghi có hai trường x,y. Hãy cài đặt hàng ưu tiên chứa các phần tử là điểm với độ ưu tiên theo tọa độ x.
Chương trình phải cho phép:
- Nhập vào các điểm, lưu trữ trong hàng ưu tiên
- In ra các điểm dạng (x,y) theo thứ tự DeleteMin.
Đề 8:
Một điểm trong mặt phẳng là một cặp giá trị thực (x,y). Một điểm được biểu diễn như một bản ghi có hai trường: x,y. Hãy viết các khai báo thích hợp để cài đặt một bảng băm đóng phần tử là điểm. Hàm băm là hàm x mod B, B là số phần tử của bảng băm. Hàm băm lại là phép thử cầu phương. Dùng các khai báo đó để viết chương trình cho phép:
Tạo bảng băm rỗng.
Nhập một số phần tử (điểm) vào bảng băm.
In ra các tất cả phần tử trong bảng băm.
Tìm kiếm một phần tử (x,y) trong bảng băm, nếu tìm thấy trả ra vị trí lưu trữ phần tử, không tìm thấy thì trả kết quả -1.
.bạn nào chỉ mình với nhé . thanks . mình mới học C++ dc có 1 tuần thôi :p