Nén Xâu Kí Tự

Đề Bài:

Viết chương trình mã hóa xâu không quá 255 kí tự như sau:

‘AAAABBBCDDDDDDDEEF’ mã hóa (nén) thành ‘4A3BC7D2EF’

Ý tưởng:

Dùng xâu mới để chứa mã hóa

Ta khỏi tạo biến dem:=1;

Ta sẻ duyệt từ kí tự thứ 2 của xâu đến cuối xâu và làm công việc sau:

Nếu s[i]=s[i-1] thì ta tăng biến dem lên 1.

Nếu s[i]<> s[i-1] thì cộng vào xâu tạm dem và s[i-1], trả dem về 1 (kí tự trước i)

Nếu i=length(s) thì cộng xâu tạm với dem và s[i]

dem := 1; for i:=2 to length(s) do begin if s[i]=s[i-1] then inc(dem); if (s[i]<>s[i-1]) then begin str(dem,tam); if dem>1 then k := k+tam+s[i-1] else k := k+ s[i-1]; dem := 1; end; if i=length(s) then begin str(dem,tam); if dem >1 then k := k+tam+s[i] else k := k+s[i]; end; end;

Tải file chương trình: Download

Chia sẻ:

  • Twitter
  • Facebook
Thích Đang tải…

Từ khóa » Giải Nén Xâu Trong Pascal