4) Xâu đối xứng Tên tập tin chương trình SYMMETRY.??? Một xâu ký tự X được gọi là xâu đối xứng nếu viết X theo thứ tự ngược lại ta cũng nhận được xâu X. Yêu cầu: kiểm tra các xâu ký tự có phải là xâu đối xứng không. Dữ liệu vào từ tập tin văn bản SYMMETRY.INP gồm: - Dòng 1 chứa số nguyên dương N, N < 1000. - N dòng tiếp theo, dòng thứ i chứa xâu ký tự Xi có không quá 250 ký tự. Kết quả: Đưa ra tập tin văn bản SYMMETRY.OUT là xâu ký tự S có N ký tự, trong đó ký tự thứ i của S là 1 nếu xâu Xi là xâu đối xứng, là 0 nếu xâu Xi không là xâu đối xứng. Làm bằng pascal nha
2 câu trả lời
var f1, f2: text;
i, n: word;
s: string;
Function kt(a: string): boolean;
Var j: byte;
Begin
For j:=1 to (length(a) div 2) do
If a[j]<>a[length(a)-j+1]
Then exit(false);
Exit(true);
End;
Begin
Assign(f1, 'symmetry.inp'); reset(f1);
Assign(f2, 'symmetry.out'); rewrite(f2);
Readln(f1, n);
For i:=1 to n do
Begin
Readln(f1, s);
If kt(s)=true then writeln(f2, 1)
Else writeln(f2, 0);
End;
Close(f1); close(f2);
End.
program doi_xung;
var f,g:text;
x:string;
n,i:integer;
{---Ham-doi-xung---}
function ktdx(s:string):boolean;
var j:byte;
st:string;
begin
st:='';
for j:=length(s) downto 1 do
st:=st+s[i];
if s=st then exit(true) else exit(false);
end;
{---Chuong-trinh-chinh---}
BEGIN
Assign(f,'SYMMETRY.INP'); reset(f);
Assign(g,'SYMMETRY.OUT'); rewrite(g);
readln(f,n);
for i:=1 to n do
begin
readln(f,x);
if ktdx(x) then writeln(g,1) else writeln(g,0);
end;
close(f); close(f);
end.