Câu hỏi:

13/07/2024 881

Viết chương trình để nén và giải nén một xâu ký tự . Ví dụ: Xâu 'AAAABBBCDDDDDDDEEF' sau khi nén sẽ trở thành '4A3BC7D2EF'.

Sale Tết giảm 50% 2k7: Bộ 20 đề minh họa Toán, Lí, Hóa, Văn, Sử, Địa…. form chuẩn 2025 của Bộ giáo dục (chỉ từ 49k/cuốn).

20 đề Toán 20 đề Văn Các môn khác

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

Lời giải:

Chương trình nén xâu:

uses crt;

var s,t,k:string;

i,d:longint;

begin

clrscr;

write('Nhap xau: '); readln(s);

d:=1;

for i:=2 to length(s) do

begin

if s[i]=s[i-1] then inc(d);

if (s[i]<>s[i-1]) then

begin

str(d,t);

if d>1 then k:=k+t+s[i-1] else k:=k+s[i-1]; d:=1;

end;

if i=length(s) then begin str(d,t);

if d>1 then k:=k+t+s[i] else k:=k+s[i];

end;

end;

write('Xau sau khi nen: ',k);

readln

end.

Chương trình giải nén xâu:

Uses crt;

Var St,St1,x:string;

i,j,k,l:longint;

Begin

Clrscr;

readln(St);

For i:=1 to length(St) do

If (St[i] in ['a'..'z']) then

If not (St[i-1] in ['0'..'9']) then Insert('1',St,i);

For i:=1 to length(St) do

Begin

If St[i] in ['0'..'9'] then

For j:=i+1 to length(St) do

If St[j] in ['a'..'z'] then break;

x:=copy(St,i,j-i);

Val(x,k);

For l:=1 to k do St1:=St1+St[j]; end;

write(St1);

readln

end.

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1:

Trong bảng phân quyền, các quyền truy cập dữ liệu, gồm có:

Xem đáp án » 27/06/2023 44,747

Câu 2:

Phần mềm nào sau đây không phải là hệ quản trị cơ sở dữ liệu quan hệ

Xem đáp án » 28/06/2023 42,196

Câu 3:

Câu nào là đúng. Sau khi tạo cấu trúc cho bảng thì:

Xem đáp án » 27/06/2023 41,030

Câu 4:

Trong bảng sau đây, mỗi học sinh chỉ có mộ mã số (Mahs):


Khoá chính của bảng là:

Xem đáp án » 27/06/2023 18,117

Câu 5:

Bảo mật CSDL:

Xem đáp án » 27/06/2023 17,674

Câu 6:

Phát biểu nào sai trong các phát biểu sau khi nói về khoá chính?

Xem đáp án » 27/06/2023 14,503

Câu 7:

Sau khi tạo liên kết giữa các bảng trong mô hình dữ liệu quan hệ, có thể thực hiện công việc nào dưới đây?

Xem đáp án » 28/06/2023 13,897

Bình luận


Bình luận