Bài tập  /  Bài đang cần trả lời

Giải bài có thưởng!

Hai xâu kí tự S1 và S2 được gọi là hai xâu họ hàng nếu mỗi kí tự có ở xâu này đều có ở xâu kia và ngược lại

Hai xâu kí tự S1 và S2 được gọi là hai xâu họ hàng nếu mỗi kí tự có ở xâu này đều
có ở xâu kia và ngược lại. Hai xâu rỗng cũng được xem là hai xâu họ hàng.
Ví dụ: S1 = ‘aabccdcbe’; S2 = ‘abcde’ là hai xâu họ hàng.
Yêu cầu: Nhập từ bàn phím hai xâu kí tự S1 và S2 (tối đa 255 kí tự) chỉ chứa chữ
cái thường và không phải là hai xâu họ hàng. Hãy tìm cách xóa ít nhất một số kí tự ở
mỗi xâu (cũng có thể chỉ xóa ở một xâu) để được hai xâu kí tự mới là hai xâu họ hàng.
--code pascal ạ---
0 Xem trả lời
Hỏi chi tiết
74
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Dưới đây là code Pascal để giải bài toán trên:

```pascal
program XauHoHang;

var
S1, S2: string;
i, j: integer;
isHoHang: boolean;

begin
// Nhập hai xâu kí tự S1 và S2
write('Nhap xau S1: ');
readln(S1);
write('Nhap xau S2: ');
readln(S2);

// Kiểm tra xem hai xâu đã là hai xâu họ hàng chưa
isHoHang := true;
for i := 1 to Length(S1) do
begin
if Pos(S1[i], S2) = 0 then
begin
isHoHang := false;
break;
end;
end;
for i := 1 to Length(S2) do
begin
if Pos(S2[i], S1) = 0 then
begin
isHoHang := false;
break;
end;
end;

// Nếu hai xâu không là hai xâu họ hàng, thực hiện xóa kí tự để tạo thành hai xâu họ hàng
if not isHoHang then
begin
for i := Length(S1) downto 1 do
begin
if Pos(S1[i], S2) = 0 then
Delete(S1, i, 1);
end;
for i := Length(S2) downto 1 do
begin
if Pos(S2[i], S1) = 0 then
Delete(S2, i, 1);
end;
end;

// In ra hai xâu kí tự mới là hai xâu họ hàng
writeln('Xau S1 moi: ', S1);
writeln('Xau S2 moi: ', S2);

readln;
end.
```

Lưu ý: Đoạn code trên chỉ xóa các kí tự không cần thiết để tạo thành hai xâu họ hàng, không đảm bảo xóa ít nhất một số kí tự ở mỗi xâu.

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×