Hãy tạo mảng hai chiều có kích thước N
x N chứa các số tự nhiên từ 1 đến N2 (2≤N≤20) theo quy luật như ví
dụ dưới đây.
Với N = 3 |
Với N = 4 |
1 2 3 7 8 9 6 5 4 |
1 2 3 4 9
10 11 12 16 15
14 13 8 7
6 5 |
Dữ liệu
vào: từ tệp văn bản BANGSO.INP
gồm số nguyên dương N.
Dữ liệu ra: ghi vào tệp văn bản BANGSO.OUT gồm: bảng số tìm được dựa
theo quy luật trên.
Các số trên cùng một dòng được ghi cách nhau bởi 1 dấu cách.
BANGSO.INP |
BANGSO.OUT |
|
BANGSO.INP |
BANGSO.OUT |
3 |
1 2 3 7 8 9 6 5 4 |
4 |
1 2 3 4 9
10 11 12 16 15
14 13 8 7
6 5 |
CODE THAM KHẢO:
var A:array[1..100,1..100] of longint;
n,i,j,k,x,top,left,right,bottom: longint;
f:text;
begin
assign(f,'BANGSO.INP'); reset(f);
readln(f,n);
close(f);
assign(f,'BANGSO.OUT'); rewrite(f);
x:=1; top:=1; right:=n; left:=1;
while x <= n*n do
begin
for k:= left to right do
begin
a[k,top]:=x;
x:=x+1;
end;
bottom:=n-top+1;
if bottom <> top then
for k:=right downto left do
begin
a[k,bottom]:=x;
x:=x+1;
end;
top:=top+1;
end;
for i:=1 to n do
begin
for j:=1 to n do write(f,A[j,i]:3);
writeln(f);
end;
close(f);
end.