30 MỤC LỤC A MỞ ĐẦU 3 1 Cơ sở khoa học về việc lựa chọn đề tài 3 2 Mục đích nhiệm vụ của đề tài 3 B LÝ THUYẾT 3 1 DỮ LIỆU KIỂU XÂU 3 1 1 Khái niệm 3 1 2 Khai báo mảng xâu 3 1 3 Phương thức nhập mảng x[.]
MỤC LỤC A MỞ ĐẦU .3 Cơ sở khoa học việc lựa chọn đề tài .3 Mục đích nhiệm vụ đề tài B LÝ THUYẾT .3 DỮ LIỆU KIỂU XÂU 1.1 Khái niệm 1.2 Khai báo mảng xâu .3 1.3 Phương thức nhập mảng xâu .4 1.4 Một số hàm xử lí xâu 1.5 Sau số ví dụ sử dụng tổng hợp hàm .4 DỮ LIỆU KIỂU STRING 2.1 Khái niệm: 2.2 Khai báo chuỗi: 2.3 Các hàm xử lý chuỗi: - Nhập xuất chuỗi: - Lấy chiều dài chuỗi: - Truy cập phần tử chuỗi: - Chèn chuỗi: - Xoá chuỗi: C BÀI TẬP VỀ DỮ LIỆU KIỂU XÂU, STRING TRONG C++ Bài 1: Vị trí xâu .8 Bài 2: Chuẩn hóa xâu Bài 3: Tính tổng số ghi xâu 10 Bài 4: Tìm vị trí xuất xâu 11 Bài 5: Xâu .12 Bài 6: Số lớn 13 30 h Bài 7: Bóng đá .14 Bài 8: Petya Chuỗi 15 Bài 9: String Task .17 Bài 10: NKLETTER – Gửi thư 18 Bài 11: FINDCOW – Find the Cow! 19 Bài 12: REPSTR – Replacing Digits 21 Bài 13: Dãy đặc biệt 22 Bài 14: Xâu nhị phân 24 Bài 15: Tổng chẵn .26 Bài 16: P165PROI Đột biến gen 28 D Kết luận .30 E Tài liệu tham khảo .30 30 h CHUYÊN ĐỀ DỮ LIỆU KIỂU XÂU TRONG C++ A MỞ ĐẦU Cơ sở khoa học việc lựa chọn đề tài Trong thực tiễn liệu vào toán liên quan đến kiểu liệu khác nhau, để tiện cho việc lập trình xử lý liệu thường đưa liệu dạng kiểu liệu chuẩn kiểu liệu có cấu trúc, kiểu liệu chuẩn kiểu xâu Qua q trình tham gia giảng dạy bồi dưỡng học sinh giỏi nhận thấy liệu kiểu xâu thường gặp nhiều toán vận dụng linh hoạt thao tác xử lý kiểu liệu vào tốn khơng phải dễ Với mong muốn phần giúp học sinh học việc tìm lời giải cho số tốn liên quan tới kiểu liệu xâu chuỗi dễ dàng hơn, xin giới thiệu “ Chuyên đề liệu kiểu C++” mà áp dụng q trình giảng dạy Mục đích nhiệm vụ đề tài Hiện có nhiều chuyên đề viết liệu kiểu xâu chuyên đề tơi nhằm đưa tốn giúp cho học sinh học tiếp cận với kiểu liệu kiểu xâu toán tham khảo từ nguồn khác Việc tìm lời giải cho toán kiểu xâu, cần thiết nhằm giúp cho giáo viên, học sinh hệ thống lại kiến thức thao tác kiểu liệu xâu phân dạng tập, từ áp dụng cho tốn cụ thể Chúng tơi đề mục đích, nhiệm vụ cụ thể việc thực đề tài: - Giới thiệu kiểu liệu kiểu xâu C++ - Giới thiệu số phép toán liệu kiểu xâu string - Hệ thống tập từ đơn giản đến phức tạp kiểu liệu xâu C++ B LÝ THUYẾT DỮ LIỆU KIỂU XÂU 1.1 Khái niệm - Xâu dãy kí tự bảng mã ASCII Mỗi kí tự gọi phần tử xâu - Số lượng kí tự xâu gọi độ dài xâu - Xâu có độ dài gọi xâu rỗng 1.2 Khai báo mảng xâu char [độ dài] ; char [độ dài] = xâu kí tự ; char [] = xâu kí tự ; // khơng khởi tạo // có khởi tạo // có khởi tạo - Độ dài mảng số kí tự tối đa có xâu Độ dài thực xâu tính 30 h từ đầu mảng đến dấu kết thúc xâu (không kể dấu kết thúc xâu ‘\0’) - Ví dụ: char a[26] ; // mảng xâu a chứa tối đa 25 kí tự char b[31] = “abcndd” ; 1.3 Phương thức nhập mảng xâu Do tốn tử nhập cin >> có hạn chế xâu kí tự nên C++ đưa hàm riêng (còn gọi phương thức) cin.getline(s,n) để nhập xâu kí tự Xét đoạn lệnh sau char s[10] ; cin.getline(s, 10) ; cout