
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.3] |
![]() |
|
Сообщ.
#1
,
|
|
|
Примеры заполнения данными двумерных массивов ...
![]() 1. по S-зигзагу: ![]() ![]() const n = 10; m = 8; var a: array[1..n, 1..m] of integer; i, j, k: integer; begin k:=1; for i:=1 to n do if (i mod 2 <> 0) and (j <= n) then begin for j:=m downto 1 do begin a[i,j]:=k; k:=k+1 end end else begin for j:=1 to m do begin a[i,j]:=k; k:=k+1 end end; for i:=1 to n do begin for j:=1 to m do write(a[i,j],' '); writeln end end. 2. по Z-зигзагу: ![]() ![]() const n = 10; m = 8; var a: array[1..n, 1..m] of integer; i, j, k: integer; begin k:=1; for i:=1 to n do if (i mod 2 <> 0) and (j <= n) then begin for j:=1 to m do begin a[i,j]:=k; k:=k+1 end end else begin for j:=m downto 1 do begin a[i,j]:=k; k:=k+1 end end; for i:=1 to n do begin for j:=1 to m do write(a[i,j],' '); writeln end end. 3. по спирали: ![]() ![]() const n = 10; m = 8; var mas: array[1..n, 1..m] of integer; value, i, j, k: integer; begin i:=0; k:=0; value:=1; { генерация спирали } while i < n*m do begin inc(k); {проходи по горизонтали "слева-направо"} for j:=k to m-k+1 do begin inc(i); mas[k,j]:=value; inc(value) end; {проходи по вертикали "сверху-вниз"} for j:=k+1 to n-k+1 do begin inc(i); mas[j,m-k+1]:=value; inc(value) end; {проходи по горизонтали "справа-налево"} for j:=m-k downto k do begin inc(i); mas[n-k+1,j]:=value; inc(value) end; {проходи по вертикали "снизу-вверх"} for j:=n-k downto k+1 do begin inc(i); mas[j,k]:=value; inc(value) end end; { вывод результатов генерации спирали } for i:=1 to n do begin for j:=1 to m do write(mas[i,j]:3,' '); writeln end end. |
![]() |
Сообщ.
#2
,
|
|
M andrew.virus А давай ты сначала научишься программы компилировать (я о том, что третий фрагмент элементарно не проходит компиляцию), потом - отлаживать (опять же, третий фрагмент кода будет вылетать по RangeCheck, это и без компиляции видно), и только потом, когда все будет компилироваться и работать (причем работать правильно), это, возможно, будет перенесено в тот раздел, куда было запощено тобой изначально... |
Сообщ.
#3
,
|
|
|
volvo877 согласен с твоим замечанием ... поправил код и сделал так, что третий пример можно запускать без дополнительных усилий ...
![]() |