Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
45
Task/Zig-zag-matrix/Seed7/zig-zag-matrix.seed7
Normal file
45
Task/Zig-zag-matrix/Seed7/zig-zag-matrix.seed7
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
$ include "seed7_05.s7i";
|
||||
|
||||
const type: matrix is array array integer;
|
||||
|
||||
const func matrix: zigzag (in integer: size) is func
|
||||
result
|
||||
var matrix: s is matrix.value;
|
||||
local
|
||||
var integer: i is 1;
|
||||
var integer: j is 1;
|
||||
var integer: d is -1;
|
||||
var integer: max is 0;
|
||||
var integer: n is 0;
|
||||
begin
|
||||
s := size times size times 0;
|
||||
max := size ** 2;
|
||||
for n range 1 to max div 2 + 1 do
|
||||
s[i][j] := n;
|
||||
s[size - i + 1][size - j + 1] := max - n + 1;
|
||||
i +:= d;
|
||||
j -:= d;
|
||||
if i < 1 then
|
||||
incr(i);
|
||||
d := -d;
|
||||
elsif j < 1 then
|
||||
incr(j);
|
||||
d := -d;
|
||||
end if;
|
||||
end for;
|
||||
end func;
|
||||
|
||||
const proc: main is func
|
||||
local
|
||||
var matrix: s is matrix.value;
|
||||
var integer: i is 0;
|
||||
var integer: num is 0;
|
||||
begin
|
||||
s := zigzag(7);
|
||||
for i range 1 to length(s) do
|
||||
for num range s[i] do
|
||||
write(num lpad 4);
|
||||
end for;
|
||||
writeln;
|
||||
end for;
|
||||
end func;
|
||||
Loading…
Add table
Add a link
Reference in a new issue