Jump to content

Zig-zag matrix: Difference between revisions

→‎{{header|MiniZinc}}: Improve output layout
(Realize in miniZinc)
(→‎{{header|MiniZinc}}: Improve output layout)
Line 3,403:
constraint forall(n in {2*g+1 | g in 1..(Size-1) div 2})(zigzag[n,1]=zigzag[n-1,1]+1 /\ forall(g in 2..n)(zigzag[n-g+1,g]=zigzag[n-g+2,g-1]+1));
constraint forall(n in {2*g+((Size) mod 2) | g in 1..(Size-1) div 2})(zigzag[Size,n]=zigzag[Size,n-1]+1 /\ forall(g in 1..Size-n)(zigzag[Size-g,n+g]=zigzag[Size-g+1,n+g-1]+1));
output [showshow2d(zigzag[n,1..])++"\n" | n in 1..Size];
</lang>
{out}
<pre>
minizinc -DSize=5 zigzag.mzn
[| 1, 2, 6, 7, 15] |
[ 3, 5, 8, 14, 16] |
[ 4, 9, 13, 17, 22] |
[ 10, 12, 18, 21, 23] |
[ 11, 19, 20, 24, 25 |]
----------
 
minizinc -DSize=6 zigzag.mzn
[| 1, 2, 6, 7, 15, 16] |
[ 3, 5, 8, 14, 17, 26] |
[ 4, 9, 13, 18, 25, 27] |
[ 10, 12, 19, 24, 28, 33] |
[ 11, 20, 23, 29, 32, 34] |
[ 21, 22, 30, 31, 35, 36 |]
----------
</pre>
 
=={{header|Modula-3}}==
<lang modula3>MODULE ZigZag EXPORTS Main;
2,172

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.