const
n = 5; m =5;
var
s: array[1..n,1..m] of integer;
i,j,k,p: integer;
begin
i:=0; k:=0; p:=1;
while i<n*m do
begin
inc(k);
for j:=k to m-k+1 do
begin
inc(i);
s[k,j]:=p;
inc(p);
end;
for j:=k+1 to n-k+1 do
begin
inc(i);
s[j,m-k+1]:=p;
inc(p);
end;
for j:=m-k downto k do
begin
inc(i);
s[n-k+1,j]:=p;
inc(p);
end;
for j:=n-k downto k+1 do
begin
inc(i);
s[j,k]:=p;
inc(p);
end
end;
for i:=1 to n do
begin
for j:=1 to m do
write(s[i,j]:4,' ');
writeln;
end;
readln;
end.
Заполнение двумерного массива по спирали
У меня возник вопрос:як двумерный массив заполнить по спаирали.
N - розмер матрицы (ширина и высота)
Например, для N=5 таблица будет такая :
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
Тут если пройтись глазом по всем числам от 1 до 25, и провести линию можно увидет, что получилась спираль. Помогите мне так заполнить масив, что-бы в этой процедуре было указание на N
Спасибо большое.
П.С. Я- школник, не очень понимаю русский, и в Паскале не очень розбераюсь, помогите, олимпиала за неделю будет с Информатики.... спсибо!
WitaliyDsgn
Ітак всі м хай вот
а для чего так усложнять?можно все решить на js
вот именно js и будет усложнение...проще выбрать какую то CMS
ну если CMS то я бы вот эту рекомендовал