Xâu Thuần Nhất (Giải Nén Xâu Trong Pascal) - Tài Liệu Text - 123doc
Có thể bạn quan tâm
- Trang chủ >>
- Giáo án - Bài giảng >>
- Ngữ văn
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (48.12 KB, 3 trang )
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< >A2B2C3XCAABAABAABCCADADCADCAABAABCCADADY< >X(C(A2B)3C2(AD)2)2Y(AB)2(QXA)3< >ABABQXAQXAQXAHã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. 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.
Tài liệu liên quan
- Mâu thuẫn giữa LLSX và QHSX trong giai đoạn đi lên CNXH ở nước ta thực trạng và giải pháp
- 13
- 801
- 1
- Giới thiệu phần mềm giải nén tốt nhất
- 1
- 714
- 2
- Xâu ký tự trong pascal
- 11
- 6
- 120
- giá trị nhỏ nhất - giá trị lớn nhất - giải chi tiết trong các đề thi đại học
- 15
- 1
- 2
- 5 kiểu bạn bè tốt nhất bạn nên trân trọng
- 5
- 247
- 0
- BÀI TOÁN XÂU TRONG CỰC ĐẠI VÀ LỜI GIẢI
- 14
- 1
- 7
- BÀI TOÁN XÂU TRONG CỰC ĐẠI
- 22
- 550
- 6
- Những thói quen xấu trong giờ học ppsx
- 5
- 357
- 2
- Quy luật mâu thuẫn là quy luật quan trọng nhất của phép biện chứng - 1 pot
- 7
- 686
- 4
- Mâu thuẫn biện chứng phát sinh trong nền Kinh tế thị trường định hướng XHCN - 4 pdf
- 5
- 212
- 0
Tài liệu bạn tìm kiếm đã sẵn sàng tải về
(26 KB - 3 trang) - Xâu thuần nhất (Giải nén xâu trong pascal) Tải bản đầy đủ ngay ×Từ khóa » Bài Toán Nén Xâu Trong Pascal
-
Nén Xâu Kí Tự
-
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
-
Xâu Thuần Nhất (Giải Nén Xâu Trong Pascal)
-
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