Phần mềm học tập

DS

Bài 1. Biến đổi xâu

Cho xâu kí tự St có N kí tự đc lấy từ tập các ký tự 'a'...'z', 'A'...'Z', '0'...'9' (0 < N ≤ 255). Phép biến đổi xâu (p, q) (1 ≤ p, q ≤ N) đc thực hiện bằng cách hoán đổi kí tự ở vị trí p với ký tự ở vị trí q trong xâu St. Ví dụ cho xâu St= 'abcdefgh' và phép biến đổi xâu (3, 5) thì ta có xâu St mới là: 'abedcfgh'.

Thực hiện lần lượt K phép biến đổi xâu \(\left(p_1,q_1\right),\left(p_2,q_2\right),....,\left(p_k,q_k\right)\) trên xâu St thì sẽ thu đc một xâu mới (1 ≤ K ≤ 50).

Yêu cầu: Hãy tìm xâu St sau khi thực hiện lần lượt K phép biến đổi xâu.

Dữ liệu vào: Nhập xâu ký tự St, số K và các cặp số \(\left(p_1,q_1\right),\left(p_2,q_2\right),...,\left(p_k,q_k\right)\) từ bàn phím.

Dữ liệu ra: In ra màn hình xâu St sau khi thực hiện xong K phép biến đổi xâu.

TH
7 tháng 8 2020 lúc 23:19

program bien_doi;
uses crt;
var St:string;
p,q,k,i:byte;

procedure Swap(var St:string;p,q:byte);
var x,y:char;
begin
x:=St[p];
y:=St[q];
delete(St,p,1);
delete(St,q-1,1);
insert(y,St,p);
insert(x,St,q);
end;

begin
clrscr;
write('Nhap xau St: '); readln(St);
write('Nhap K: ');readln(K);
for i:=1 to k do
begin
write('Nhap p',i,': '); readln(p);
write('Nhap q',i,': '); readln(q);
Swap(St,p,q);
end;
write(St);
readln
end.

Bình luận (0)
AS
1 tháng 5 2018 lúc 21:32

Giả siêng như thật oe

Bình luận (0)

Các câu hỏi tương tự
PN
Xem chi tiết
LK
Xem chi tiết
H24
Xem chi tiết
H24
Xem chi tiết
NN
Xem chi tiết
ND
Xem chi tiết
NA
Xem chi tiết
KN
Xem chi tiết
TN
Xem chi tiết