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 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

2 câu trả lời

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.

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.

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

Các bạn giúp mình bài này mình cần gấp KHÔNG CÓ đoạn văn đâu!!!!! Có một câu chuyện như sau: Một tù trưởng Cherokee đưa hai đứa cháu của mình vào rừng dạo chơi. Sau một lúc đi dạo, ba ông cháu ngồi nghỉ bên một gốc cây và ông bắt đầu nói với hai đứa trẻ: “Có một cuộc chiến tồi tệ đang xảy ra ở bên trong ông. Đây là cuộc chiến giữa hai con sói. Một bên là con sói của nỗi sợ hãi, đều giả, kiêu ngạo và tham lam. Bên kia là con sói của lòng dũng cảm, tử tế, khiêm nhường và yêu thương”. Hai đứa trẻ im lặng lắng nghe câu chuyện của ông cho đến khi thấy ông bảo rằng: “Cuộc chiến đang xảy ra giữa hai con sói này cũng đang diễn ra trong các cháu, không khác gì mọi người”. Hai đứa trẻ suy nghĩ một lúc rồi hỏi vị tù trưởng: “Ông ơi, vậy con sói nào sẽ chiến thắng?”. Người ông nhẹ nhàng nói: “Con sói mà cháu đang nuôi dưỡng.” (Theo “Sau này con sẽ hiểu” – Marc Gellman) Câu 1: Tìm lời dẫn trực tiếp trong đoạn văn trên và cho biết dấu hiệu nhận biết của nó. Câu 2: Trong câu chuyện với hai đứa trẻ, tù trưởng Cherokee luôn nhắc đến “một cuộc chiến”. Em hiểu cuộc chiến này là gì? Từ đây, em hãy cho biết ý nghĩa câu chuyện này cần được hiểu theo nghĩa tường minh hay hàm ý? Câu 3: Nếu được lựa chọn một nhan đề cho câu chuyện, em sẽ lựa chọn như thế nào? Câu 4. Xác định và chỉ rõ 2 phép liên kết có trong đoạn văn trên.

10 lượt xem
2 đáp án
22 giờ trước