Nhập 1 xâu kí tự. Kiểm tra tính đối xứng của xâu đó. Nếu xâu không đối xứng thì đảo xâu
2 câu trả lời
var str,s:string[100];
n,i:integer;
procedure sx( var a,b:char);
var tam:char;
begin
tam:=a;
a:=b;
b:=tam;
end;
procedure dao(n,i:integer);
var j:integer;
begin
for j:=i+1 to n do
if str[i]=str[j] then
begin
sx(str[j],str[n-i+1]);
exit
end;
end;
begin
clrscr;
write('nhap xau:');readln(str);
n:=length(str);
s:='';
for i:=n downto 1 do s:=s+str[i];
if str=s then writeln('chuoi doi xung:')
else
begin
writeln('chuoi ko doi xung,chuoi da dảo doi xung:');
for i:=1 to n-1 do
dao(n,i);
end;
write(str);
readln;
end.
I. Hướng dẫn giải BT kiểm tra xâu đối xứng trong pascal C++
1. Kiểm tra xâu đối xứng cách 1
– Cách đơn giản nhất là ta sẽ đọc ngược lại xâu S và lưu vào biến S1. sau đó kiểm tra 2 xâu có hoàn toàn giống nhau hay không?
ví dụ:
S=”abcde” => S1=”edcba”. 2 xâu này không giống nhau nên không là xâu đối xứng.
S=”aabccbaa” => S1=”aabccbaa”. 2 xâu này giống nhau hoàn toàn nên kết luận được là xâu đối xứng.
– Đây cũng là cách mà trong sách giáo khoa Tin học 11 chia sẻ