Chuỗi đối xứng là chuỗi mà nếu ta đọc từ trái sang phải hay từ phải sang trái thì đều giống nhau. Viết chương trình nhập vào từ bàn phím chuỗi ký tự S có chiều dài không quá 255 ký tự. In ra màn hình tất cả các chuỗi con đối xứng của S. Biết rằng chuỗi con của S là chuỗi gồm một số ký tự liên tiếp nhau trong S có độ dài nhỏ hơn hoặc bằng độ dài của chuỗi S và ít nhất 3 ký tự. Ví dụ: chuỗi S có giá trị là: ‘habcbaq’ có các chuỗi con đối xứng là: ‘bcb’, ‘abcba’.
CODE THAM KHẢO:
program xaucondoixung;
uses crt;
var s,s1:string;
i,j,k: integer;
function dx(s:string): boolean;
var dem, i: integer;
begin
dx:=false; dem:=0;
for i:=1 to length(s) div 2 do
if s[i] = s[length(s)-i+1] then inc(dem);
if dem = length(s) div 2 then dx:=true;
end;
begin
clrscr;
write('Nhap xau: '); readln(s);
k:=0;
for i:=1 to length(s)-2 do
for j:=i+2 to length(s) do
begin
s1:=Copy(s,i,j-i+1);
if dx(s1) then
begin
k:=k+1;
writeln(s1);
end;
end;
if k=0 then writeln('Khong tim thay');
readln;
end.
Đăng nhận xét