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.

       

       

Câu hỏi trong lớp Xem thêm