Câu hỏi:

28/06/2023 762

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

Siêu phẩm 30 đề thi thử THPT quốc gia 2024 do thầy cô VietJack biên soạn, chỉ từ 100k trên Shopee Mall.

Mua ngay

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.

Quảng cáo

book vietjack

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

Câu 1:

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 36,297

Câu 2:

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

Xem đáp án » 27/06/2023 36,036

Câu 3:

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 35,590

Câu 4:

Bảo mật CSDL:

Xem đáp án » 27/06/2023 13,748

Câu 5:

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 13,745

Câu 6:

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 11,304

Câu 7:

Hai bảng trong một CSDL quan hệ liên kết với nhau thông qua:

Xem đáp án » 27/06/2023 9,626

Bình luận


Bình luận