Xâu Thuần Nhất (Giải Nén Xâu Trong Pascal)
Có thể bạn quan tâm
Hướng Dẫn Download & Cài Đặt Hate Pascal If You Can
Link download : https://goo.gl/U2Wxnu Home: http://hatepascalifucan.byethost3.com/
Thứ Ba, 4 tháng 4, 2017
Xâu thuần nhất (Giải nén xâu trong pascal)
Xâu kí tự thuần nhất được định nghĩa là xâu chỉ bao gồm các chữ cái tiếng anh. Một xâu thuần nhất có thể được viết thu gọn, bao gồm các số thứ tự kèm theo tần số xuất hiện liên tiếp của nhóm đó! VD: AACCBBB<-->A2B2C3 XCAABAABAABCCADADCADCAABAABCCADADY<-->X(C(A2B)3C2(AD)2)2Y (AB)2(QXA)3<-->ABABQXAQXAQXA Hãy viết chương trình thu gọn và giải mã (hay nén và giải nén) xâu. Thuật toán dưới đây là quá trình nén xâu. Lời giải: program xau_thuan_nhat; uses crt; var s,ss,st,si:string; i,j,l:integer; function kttn(s:string):boolean; var x:char; ok:boolean; begin kttn:=true; for i:=1 to length(s) do s[i]:=upcase(s[i]); for i:=1 to length(s) do begin ok:=false; for x:='A' to 'Z' do if s[i]=x then ok:=true; if not ok then begin kttn:=false;break;end; end; end; procedure nen(s:string;var st:string); begin ss:=''; while s<>'' do begin i:=1; while (s[i+1]=s[1])and(i<length(s)) do inc(i); if i>1 then begin str(i,si); ss:=ss+s[1]+si; end else ss:=ss+s[1]; delete(s,1,i); end; s:=ss;l:=2; while l<length(s) do begin i:=1; while i<=length(s)-l do begin si:=copy(s,i,l); j:=i+l; ss:=copy(s,j,l); while ss=si do begin j:=j+l; ss:=copy(s,j,l); end; if j=i+l then inc(i) else begin str((j-i)div l,ss); delete(s,i,j-i); si:='('+si+')'+ss; insert(si,s,i); i:=i+l+2+length(ss); end; end; inc(l); end; st:=s; end; function ktcd(st:string):boolean; begin ktcd:=false; for i:=1 to length(st) do if st[i]='(' then begin ktcd:=true; break; end; end; procedure giainen(st:string;var s:string); var d,c:byte; code:integer; begin while ktcd(st) do begin i:=1; c:=0; while st[i]<>'(' do inc(i); d:=1; j:=i+1; while c<d do begin inc(j); if st[j]='(' then inc(d); if st[j]=')' then inc(c); end; si:=copy(st,i,j-i+1); delete(st,i,j-i+1); delete(si,1,1); delete(si,length(si),1); j:=i; while st[j+1] in['0'..'9'] do inc(j); ss:=copy(st,i,j-i+1); delete(st,i,j-i+1); val(ss,l,code); for j:=1 to l do insert(si,st,i); end; i:=1; while i<=length(st) do begin inc(i); if st[i] in['0'..'9'] then begin j:=i; while st[j+1] in['0'..'9'] do inc(j); ss:=copy(st,i,j-i+1); delete(st,i,j-i+1); val(ss,l,code); ss:=st[i-1]; for j:=1 to l-1 do insert(ss,st,i); i:=i+l-1; end; end; s:=st; end; begin clrscr; write('nhap chuoi: ');readln(s); if kttn(s) then begin nen(s,st); writeln('Chuoi sau khi nen la: ',st); giainen(st,s); writeln('Chuoi sau khi giai nen la: ',s); end else write('Xau ko thuan nhat.'); readln; end. Nhãn: pascal-nang-caoKhông có nhận xét nào:
Đăng nhận xét
Bài đăng Mới hơn Bài đăng Cũ hơn Trang chủ Đăng ký: Đăng Nhận xét (Atom)Tìm kiếm Blog này
Bài đăng phổ biến
- Mã hóa xâu Đề bài:Tập hợp các chữ cái tiếng Anh bao gồm 26 chữ cái được đánh số thứ tự lần lượt từ 0 đến 25. Quy tắc mã hóa một kí tự như sau: 1. Tì...
- Đổi từ hệ 10 sang hệ 2 (hệ thập phân sang nhị phân) Đề : Đổi từ hệ 10 sang hệ 2 (hệ thập phân sang nhị phân) Nguyên tắc của phương pháp chuyển đổi từ hệ cơ số 10 sang hệ cơ số 2 là lấy số ...
- CÁC KIỂU DỮ LIỆU CƠ SỞ: INTEGER, REAL, BOOLEAN, CHAR 1. Khái niệm Dữ liệu (data) là tất cả những gì mà máy tính phải xử lý. Theo Niklaus Wirth: CHƯƠNG TRÌNH...
- Đề thi tin học trẻ Hưng Yên 2017 Đề thi tin học trẻ Hưng Yên 2017
- Xâu thuần nhất (Giải nén xâu trong pascal) Xâu kí tự thuần nhất được định nghĩa là xâu chỉ bao gồm các chữ cái tiếng anh. Một xâu thuần nhất có thể được viết thu gọn, bao gồm các số ...
- Giáo Trình Bài Tập Pascal GIÁO TRÌNH PASCAL HAY
- Đếm số âm, dương trong tệp Đề bài: Đếm số âm,dương trong tệp N phần tử
- Tìm số nguyên tố trong mảng sử dụng chương trình con Đề bài: Tìm số nguyên tố trong mảng sử dụng chương trình con
- Đề thi Tin Học Trẻ tỉnh Nghệ An 2016 Đề thi Tin Học Trẻ tỉnh Nghệ An năm 2016
- Dãy Tribonacci Dãy Tribonacci là dãy 1 , 1 , 2 , 3 , 7 , 13 , 24... dãy này được sinh ra bới công thức đệ qui sau : Tr(1) = 1 , Tr(2) = 1 , Tr(3) = 2 , ...
Pages
- Trang chủ
Người đóng góp cho blog
- Unknown
- Unknown
- aaaaaaaaaa
- tháng 3 2018 (2)
- tháng 5 2017 (1)
- tháng 4 2017 (46)
- tháng 3 2017 (10)
Tags
- Bai-tap-pascal (20)
- Pascal-co-ban (15)
- pascal-nang-cao (15)
- de-thi (6)
- ebook (4)
- giai-bai-tap-pascal (3)
Visitors
Bình Luận |
Từ khóa » Bài Toán Nén Xâu Trong Pascal
-
Nén Xâu Kí Tự
-
Xâu Thuần Nhất (Giải Nén Xâu Trong Pascal) - Tài Liệu Text - 123doc
-
Lập Trình Pascal, Giải Nén Xâu Ký Tự, Giai Nen Xau Ki Tu Bồi Dưỡng ...
-
Lập Trình Pascl Nén Xâu Kí Tự, Bồi Dưỡng HSG Môn Tin THCS
-
Giải Nén Xâu GNEN - Thầy Quách Văn Lượm
-
Viết Chương Trình Nhập Vào 1 Xâu Ký Tự (\(1< S\le255 ... - Hoc24
-
Giải Nén Xâu - Góc Tin Học
-
COMSTR - Nén Xâu - Bài Tập
-
Bài Tập Về Xâu Trong Pascal
-
Viết CT Nén Xâu Kí Tự S được Nhập Từ Bàn Phím. VD
-
[PDF] Chuyên đề Xử Lý Xâu
-
Bài Tập Dạy Học Sinh Giỏi Môn Tin Học THPT | Xemtailieu