Xâu Thuần Nhất (Giải Nén Xâu Trong Pascal) - Tài Liệu Text - 123doc

Tải bản đầy đủ (.doc) (3 trang)
  1. Trang chủ
  2. >>
  3. Giáo án - Bài giảng
  4. >>
  5. Ngữ văn
Xâu thuần nhất (Giải nén xâu trong pascal)

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 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 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 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 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 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 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 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 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 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 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