Thứ sáu, 17/05/2024
IMG-LOGO

Câu hỏi:

29/07/2023 58

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

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 trả lời này có hữu ích không?

0

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

Câu 1:

Xét về mặt cấu trúc, thuộc tính trường (field) trong mô hình dữ liệu quan hệ được hiểu là

Xem đáp án » 30/07/2023 2,068

Câu 2:

Phân biệt ưu và nhược điểm của hệ CSDL tập trung và hệ CSDL phân tán?

Xem đáp án » 29/07/2023 196

Câu 3:

Cho các thao tác sau : 
B1: Tạo bảng      B2: Đặt tên và lưu cấu trúc    B3: Chọn khóa chính cho bảng   B4: Tạo liên kết 
Khi tạo lập CSDL quan hệ ta thực hiện lần lượt các bước sau:

Xem đáp án » 29/07/2023 181

Câu 4:

Hiệu ứng động trong bài trình chiếu là gì? Có mấy loại hiệu ứng động? Hãy nêu sự khác nhau của các loại hiệu ứng động đó.

Xem đáp án » 29/07/2023 161

Câu 5:

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 » 30/07/2023 97

Câu 6:

Trong Access, để khai báo số điện thoại01267777777 ta dùng kiểu dữ liệu nào ?

Xem đáp án » 30/07/2023 88

Câu 7:

Yêu cầu: Nhập vào số nguyên dương n (0<n<=1000). In ra một hình vuông cạnh n gồm các dấu $.
Dữ liệu: Một dòng ghi số n duy nhất.
Kết quả: một hình vuông gồm nxn dấu $.(C++ nha)

Xem đáp án » 30/07/2023 86

Câu 8:

Cách viết phân số trong WPS Office

Xem đáp án » 30/07/2023 79

Câu 9:

Để chọn các mẫu định dạng có sẵn ta chọn dải lệnh nào? trình bày các bước thực hiện?

Xem đáp án » 30/07/2023 79

Câu 10:

Viết chương trình nhập vào 1 số nguyên kiểm tra xem số đó có chia hết cho 3 hay không và là số chẵn hay số lẻ

Xem đáp án » 29/07/2023 75

Câu 11:

Cho số nhị phân 10001101, số thập phân tương đương là

Xem đáp án » 30/07/2023 74

Câu 12:

Hãy cho biết cách :

+ Mở 1 bảng có tên HỌC_SINH trong CSDL

+ Xoá 1 bản ghi trong bảng HOC_SINH

+ Xắp xếp cột tên theo thứ tự giảm dần trong bảng HỌC SINH

Xem đáp án » 30/07/2023 72

Câu 13:

Thuật ngữ “quan hệ” dùng trong hệ CSDL quan hệ là để chỉ đối tượng:

Xem đáp án » 30/07/2023 72

Câu 14:

So sánh mạng không dây và mạng có dây

Xem đáp án » 30/07/2023 66

Câu 15:

Viết đoạn lệnh Python nhập một dãy số nguyên có n phần tử

Xem đáp án » 30/07/2023 66