... nhận giá trị chuỗi gọi biến kiểu chuỗi Có thể khai báo hai biến chuỗi sau: Var Ho_ten : String [20 ]; St : String; Ho_ten biến chuỗi chứa tối đa 20 ký tự, biến chuỗi St chứa tối đa 25 5 ký tự, ta gán ... Nếu nội dung?của hai chuỗi giống từ đầu đến hết chiều dài chuỗi ngắn chuỗi ngắn nhỏ hơn, ví dụ: Biểu thức ‘Tha’ < ‘Thang’ ‘Tha’ ngắn ‘Thang’ Hai chuỗi chúng dài cặp kýtự vị trí tương ứng giống ... Ho_ten := ‘Nguyen Van An’; St :=‘Thao chuong bang ngon ngu Pascal’; Chuỗi ‘Nguyen Van An’ gọi gía trị biến Ho_ten Tương tự, chuỗi ‘Thao chuong bang ngon ngu Pascal’ gia trị biến St ...
... kiểu int Tương tự ta có trỏ kiểu float, double, … CON TRỎ KHAI BÁO BIẾN CON TRỎ Con trỏ không kiểu: Cú pháp khai báo: void *tênbiến; Tin học đại cương Ví dụ: void *p, *q; CON TRỎ Tin học đại ... trị x = CON TRỎ KHÁI NIỆM BIẾN CON TRỎ Là biến dùng để lưu địa biến, loại địa có kiểu trỏ tương ứng (phụ thuộc vào loại liệu lưu trữ địa đó) Tin học đại cương PHÂN LOẠI CON TRỎ Con trỏ kiểu ... cho p QUI TẮC SỬ DỤNG CON TRỎ TÊN CON TRỎ Sử dụng địa chứa trỏ Ví dụ: int *p, *q; int x = 5; Tin học đại cương // gán đ/c biến x cho trỏ p p = &x; // lưu đ/c p vào trỏ q q = p; Giả sử địa...
... c); *Tìm xuất chuỗi s2 chuỗi s1 Trả về: NULL: Ngược lại: Địa băt đầu chuỗi s2 s1 char *strstr(char s1[], char s2[]); 15 *Nhập vào chuỗiký tự, xuất hình chuỗi bị đảo ngược thứ tựkýtự *Viết chương ... cho đủ n kýtự vào đích strncpy(char *đích, char *nguồn, int n); 12 *Nối chuỗi s2 vào chuỗi s1 strcat(char s1[],char s2[]); *Nối n kýtựchuỗi s2 vào chuỗi s1 strncat(char s1[],char s2[],int n); ... khoảng trăng chuỗi *Viết chương trình nhập vào hai chuỗi s1 s2, nối chuỗi s2 vào s1 Xuất chuỗi s1 hình * Đôi tất kýtự có chuỗi thành chữ thường (không dùng hàm strlwr) *Đôi tất kýtựchuỗi sang...
... * Ghi chú: Chuỗi khai báo mảng kýtự nên thao tác mảng áp dụng chuỗikýtự III CÁC THAO TÁC TRÊN CHUỖIKÝTỰ III.1 Nhập xuất chuỗi III.1.1 Nhập chuỗitừ bàn phím Để nhập chuỗikýtựtừ bàn phím, ... chuỗichuỗikýtựkýtự định chuỗi hết chuỗi, ta sử dụng hàm strchr() Cú pháp : Ghi chú: char *strchr(const char *str, int c) - Nếu kýtự định chuỗi, kết trả NULL - Kết trả hàm trỏ, trỏ đến ký ... (số có cách lấy kýtự s1 trừ kýtự s2 vị trí xảy khác nhau) - Nếu kết số âm, chuỗi s1 nhỏ chuỗi s2 - Nếu kết 0, hai chuỗi - Nếu kết số dương, chuỗi s1 lớn chuỗi s2 III .2. 11 So sánh chuỗi, hàm stricmp()...
... vào chuỗiký tự, đếm số kýtự có chuỗi Viết chương trình đếm có khoảng trắng chuỗi Viết chương trình nhập vào chuỗi, loại bỏ khoảng trắng thừa chuỗi Viết chương trình nhập vào hai chuỗi s1 s2, ... nối chuỗi s2 vào s1 Xuất chuỗi s1 hình Đổi tất kýtự có chuỗi thành chữ thường (không dùng hàm strlwr) Đổi tất kýtựchuỗi sang chữ in hoa (không dùng hàm struppr) Viết chương trình đổi kýtự ầu ... char *s2 = "CNTT"; strcat(s1, s2); printf("%s\n", s1); Kết quả: Khoa CNTT strncat(char s1[],char s2[],int n) Nối n kýtự ầu tiên chuỗi s2 vào chuỗi s1 Int strcmp(char s1[],char s2[]) So sánh chuỗi...
... (const char *in _string) /* pre: Con trỏ in _string tham chiếu đến C -string post: Đối tượng String khởi tạo từchuỗikýtự C -string in _string, nắm giữ in _string, chuỗikýtự in _string không thay ... sách kýtự sang đối tượng String Chẳng hạn, đọc chuỗikýtựtừ người sử dụng, nên đọc kýtự vào danh sách kýtự chưa biết trước Giáo trình Cấu trúc liệu Giải thuật 77 Chương – Chuỗikýtự chiều ... thức chuyển đổi đối tượng String sang const char* sau: const char *String: :c_str() const /* post: trả trỏkýtựchuỗikýtự đối tượng String Lưu ý có việc chia sẻ chuỗikýtự */ { return (const char...
... xóa hết kýtự trắng thừa xâu (Ký tự trắng thừa kýtự trắng đầu xâu, cuối xâu xâu có kýtự trắng liên tiếp có kýtự trắng thừa) Uses Crt; Var St :String; Procedure XoaTrangThua(Var St :String) ; ... Begin {Xóa kýtự trắng đầu xâu} While St[1]=# 32 Do Delete(St,1,1); {Xóa kýtự trắng cuối xâu} While St[Length(St)]=# 32 Do Delete(St,Length(St),1); {Xóa kýtự trắng xâu} While POS(# 32# 32, St)0 ... mã hoá giải mã xâu kýtự cách đảo ngược bit kýtự xâu Uses crt; Var st :string; {Hàm đảo bit kýtự c} Function DaoBit(c:char):char; Var n,i,s,bitcuoi,Mask:byte; Begin {Đổi kýtự sang số} n:=ORD(c);...
... xóa hết kýtự trắng thừa xâu (Ký tự trắng thừa kýtự trắng đầu xâu, cuối xâu xâu có kýtự trắng liên tiếp có kýtự trắng thừa) Uses Crt; Var St :String; Procedure XoaTrangThua(Var St :String) ; ... Begin {Xóa kýtự trắng đầu xâu} While St[1]=# 32 Do Delete(St,1,1); {Xóa kýtự trắng cuối xâu} While St[Length(St)]=# 32 Do Delete(St,Length(St),1); {Xóa kýtự trắng xâu} While POS(# 32# 32, St)0 ... mã hoá giải mã xâu kýtự cách đảo ngược bit kýtự xâu Uses crt; Var st :string; {Hàm đảo bit kýtự c} Function DaoBit(c:char):char; Var n,i,s,bitcuoi,Mask:byte; Begin {Đổi kýtự sang số} n:=ORD(c);...
... trị số kýtự Như nói 2, toán tử nhập >> để lại kýtự dòng nhập Kýtự làm trôi lệnh nhập kýtựchuỗikýtự bên Do cần dùng: ignore() get() dạng get() dạng để loại bỏ kýtự ... + Kýtự kết thúc chuỗi ‘\0’ bổ sung vào dẫy kýtự nhận + kýtự giới hạn lại dòng nhập để dành cho lệnh nhập Chú ý: + Cũng giống get() dạng 2, viết phương thức get() dạng nối đuôi dòng lệnh + Ký ... dẫy kýtự (kể khoảng trắng) đưa vào vùng nhớ str trỏ tới Quá trình đọc kết thúc xẩy tình sau: + Gặp kýtự giới hạn (cho delim) Kýtự giới hạn mặc định ‘\n’ (Enter) + Đã nhận đủ (n-1) kýtự Chú...
... trị số kýtự § Như nói 2, toán tử nhập >> để lại kýtự dòng nhập Kýtự làm trôi lệnh nhập kýtựchuỗikýtự bên Do cần dùng: ignore() get() dạng get() dạng để loại bỏ kýtự ... + Kýtự kết thúc chuỗi ‘\0’ bổ sung vào dẫy kýtự nhận + kýtự giới hạn lại dòng nhập để dành cho lệnh nhập Chú ý: + Cũng giống get() dạng 2, viết phương thức get() dạng nối đuôi dòng lệnh + Ký ... dẫy kýtự (kể khoảng trắng) đưa vào vùng nhớ str trỏ tới Quá trình đọc kết thúc xẩy tình sau: + Gặp kýtự giới hạn (cho delim) Kýtự giới hạn mặc định ‘\n’ (Enter) + Đã nhận đủ (n-1) kýtự Chú...
... * Ghi chú: Chuỗi khai báo mảng kýtự nên thao tác mảng áp dụng chuỗikýtự III CÁC THAO TÁC TRÊN CHUỖIKÝTỰ III.1 Nhập xuất chuỗi III.1.1 Nhập chuỗitừ bàn phím Để nhập chuỗikýtựtừ bàn phím, ... chuỗichuỗikýtựkýtự định chuỗi hết chuỗi, ta sử dụng hàm strchr() Cú pháp : Ghi chú: char *strchr(const char *str, int c) - Nếu kýtự định chuỗi, kết trả NULL - Kết trả hàm trỏ, trỏ đến ký ... (số có cách lấy kýtự s1 trừ kýtự s2 vị trí xảy khác nhau) - Nếu kết số âm, chuỗi s1 nhỏ chuỗi s2 - Nếu kết 0, hai chuỗi - Nếu kết số dương, chuỗi s1 lớn chuỗi s2 III .2. 11 So sánh chuỗi, hàm stricmp()...
... * Ghi chú: Chuỗi khai báo mảng kýtự nên thao tác mảng áp dụng chuỗikýtự III CÁC THAO TÁC TRÊN CHUỖIKÝTỰ III.1 Nhập xuất chuỗi III.1.1 Nhập chuỗitừ bàn phím Để nhập chuỗikýtựtừ bàn phím, ... chuỗichuỗikýtựkýtự định chuỗi hết chuỗi, ta sử dụng hàm strchr() Cú pháp : Ghi chú: char *strchr(const char *str, int c) - Nếu kýtự định chuỗi, kết trả NULL - Kết trả hàm trỏ, trỏ đến ký ... (số có cách lấy kýtự s1 trừ kýtự s2 vị trí xảy khác nhau) - Nếu kết số âm, chuỗi s1 nhỏ chuỗi s2 - Nếu kết 0, hai chuỗi - Nếu kết số dương, chuỗi s1 lớn chuỗi s2 III .2. 11 So sánh chuỗi, hàm stricmp()...
... Anh 27 1-16-3 624 Vy 27 8-49-1515 Phong 951 -23 -7 625 Hình 2. 1 Năm ph n t t ñi n [6] Chúng ta phân chia thành nhóm, nh ng ph n t có Mã s b t ñ u b ng ký s 2 ; nh ng ph n t b t ñ u b ng ký s “5” nhóm ... trình phân chia ñư c mô t m t Tree có 10 ñư ng nhánh hình dư i Hình 2. 2: Trie cho ph n t hình 2. 1 [7] 2.2 TÌM KI M TRONG TRIE 2. 2.1 Khóa có chi u dài gi ng Đ tìm ki m m t Trie cho m t ph n t v i ... nút 2.2 .2 Khóa có chi u dài khác Trong ví d trên, t t c phím có s ký s , ký s Trong ng d ng th c t , có th s g p m t s trư ng h p mà khóa khác có s ký s khác nhau, thông thư ng, s thêm ký s...
... (const char *in _string) /* pre: Con trỏ in _string tham chiếu đến C -string post: Đối tượng String khởi tạo từchuỗikýtự C -string in _string, nắm giữ in _string, chuỗikýtự in _string không thay ... sách kýtự sang đối tượng String Chẳng hạn, đọc chuỗikýtựtừ người sử dụng, nên đọc kýtự vào danh sách kýtự chưa biết trước Giáo trình Cấu trúc liệu Giải thuật 77 Chương – Chuỗikýtự chiều ... thức chuyển đổi đối tượng String sang const char* sau: const char *String: :c_str() const /* post: trả trỏkýtựchuỗikýtự đối tượng String Lưu ý có việc chia sẻ chuỗikýtự */ { return (const char...
... Mảng chuỗikýtự 24 /43 4.4 Chuỗikýtự Khái niệm - Chuỗikýtự hay gọi xâu kýtự thực chất mảng chiều có kiểu liệu kiểu kýtự - Tuy nhiên, có điểm khác biệt chuỗikýtự mảng khác có kýtự kết ... Tên _chuỗi[ số_phần_tử] = xâu ký tự; char Tên _chuỗi[ ] = xâu ký tự; Trong đó: Số_phần_tử: Là số kýtựchuỗikýtự Lưu ý cần khai báo thừa kýtự để chứa kýtự kết thúc xâu Xâu ký tự: Được đặt cặp dấu nháy ... C++ Chương 4: Mảng chuỗikýtự 27 /43 4.4 Chuỗikýtự Truy cập phần tửchuỗi - Các thao tác với phần tửchuỗikýtự giống thao tác với phần tử mảng - Để nhập liệu cho chuỗikýtự ta sử dụng toán...