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 28/08/2021 Bởi Melanie 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
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ẻ Bình luận
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. Bình luận
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ẻ
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.