Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var
- s : array [1..10000] of longint; //массив, в который прочитаем наши элементы
- a : array [1..100,1..100] of longint; //массив, в котором будет змейка
- i,j,n,m,x,y,k,q: longint;
- begin
- read(n, m); // размер нашего двумерного массива, в котором числа будут змейкой
- q:=0; //размер массива s
- for i:=1 to n do
- for j:=1 to m do
- begin
- q:=q+1;
- read(s[q]);
- a[i,j]:=-1; //массив со змейкой изначально забиваем -1
- end;
- x:=1; y:=1; k:=0; //сейчас будет ставить элемент s[k] в позицию a[x,y]
- while (k < q) do //пока не поставим все элементы
- begin
- while (a[x,y] = -1) do //пока можем, ставим их вправо.
- begin
- k:=k+1;
- a[x,y]:=s[k];
- y:=y+1;
- if y > m then break;
- end;
- y:=y-1; x:=x+1;
- while (a[x,y] = -1) do //затем вниз
- begin
- k:=k+1;
- a[x,y]:=s[k];
- x:=x+1;
- if (x > n) then break;
- end;
- x:=x-1; y:=y-1;
- while (a[x,y] = -1) do //затем влево
- begin
- k:=k+1;
- a[x,y]:=s[k];
- y:=y-1;
- if (y = 0) then break;
- end;
- y:=y+1; x:=x-1;
- while (a[x,y] = -1) do //затем вверх
- begin
- k:=k+1;
- a[x,y]:=s[k];
- x:=x-1;
- if (x = 0) then break;
- end;
- x:=x+1; y:=y+1;
- end;
- //выводим массив-змейку
- for i:=1 to n do
- begin
- for j:=1 to m do write(a[i,j],' ');
- writeln;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement