Hihi :3 Bạn nào giải giúp mình với :< 60 điểm đó :D Yêu cầu: Tự giải, không tra mạng nhé :D Bạn nào chép mạng thì mình phạt đó :D =-- Viết chương t

Hihi :3 Bạn nào giải giúp mình với :< 60 điểm đó 😀 Yêu cầu: Tự giải, không tra mạng nhé 😀 Bạn nào chép mạng thì mình phạt đó 😀 ----- Viết chương trình in ra các số nguyên từ 1 đến $N^{2}$ theo hình xoắn ốc với N được nhập vào từ bàn phím. Ví dụ, với N=5 ta có: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9

0 bình luận về “Hihi :3 Bạn nào giải giúp mình với :< 60 điểm đó :D Yêu cầu: Tự giải, không tra mạng nhé :D Bạn nào chép mạng thì mình phạt đó :D =-- Viết chương t”

  1. Program hinh_xoan_oc;

    Uses crt;

    Var i,j,k,t,s,n: integer;
    Begin

         clrscr;

         write(‘Nhap n: ‘); readln(n);
         i:=1; j:=0;
         s:=n; t:=1; k:=0;
         for k:=1 to n*n do
              begin

              case t of

                   1 : j:=j+1;
                   2 : i:=i+1;
                   3 : j:=j-1;
                   4 : i:=i-1;

              end;
                  gotoxy(j*3,i+2);
                  write(k);
                  if k=s then

                         begin

                                writeln;
                                n:=n-(t mod 2);
                                t:=t+1;
                                s:=s+n;
                                if t=5 then t:=1;

                         end;
              end;

    readln
    end.

    Bình luận
  2. Const maxN=101;
          fi=’XOANOC.INP’;
          fo=’XOANOC.OUT’;
    Var a: array[0..MaxN,0..MaxN] Of Longint;
        n,m: Longint;
    Procedure Nhap;
    Var i,j: Longint;
    Begin
         Assign(input,fi);
         reset(input);
         Read(n);
         m:=n;
         close(input);
    end;
    Procedure Xuat;
    Var i,j: Longint;
    Begin
         Assign(output,fo);
         rewrite(output);
         For i:=1 to m do
            begin
               For j:=1 to n do
                  write(a[i,j],’ ‘);
               writeln;
            end;
         close(output);
    end;
    Function min(x,y: Longint):longint;
    begin
         min:=x;
         if y<x then min:=y;
    end;
    Procedure taoA;
    Var c1,c2,r1,r2,i,j,t,x: Longint;
    begin
         x:=0; c1:=1; c2:=n; r1:=1; r2:=m;
         For t:=1 to (min(m,n)+1) div 2 do
             begin
                  For j:=c1 to c2 do
                      begin
                           Inc(x); a[r1,j]:=x;
                      end;
                  inc(r1);
                  If n*m=x then exit;
                  For i:=r1 to r2 do
                      begin
                           Inc(x); a[i,c2]:=x;
                      end;
                  dec(c2);
                  If n*m=x then exit;
                  For j:=c2 downto c1 do
                      begin
                           Inc(x); a[r2,j]:=x;
                      end;
                  dec(r2);
                  If n*m=x then exit;
                  For i:=r2 downto r1 do
                      begin
                           Inc(x); a[i,c1]:=x;
                      end;
                  inc(c1);
                  If n*m=x then exit;
             end;
    end;
    Begin
         Nhap;
         TaoA;
         Xuat;
    end.

    Bình luận

Viết một bình luận