0
Как пересмотреть это собрать в MiniZinc:Как я могу сделать этот выходной оператор вывода MiniZinc?
output [[show (P[j,p]) ++ "\n" | p in 1 .. 4] | j in 1 .. 4];
Я попробовал несколько способов.
Как пересмотреть это собрать в MiniZinc:Как я могу сделать этот выходной оператор вывода MiniZinc?
output [[show (P[j,p]) ++ "\n" | p in 1 .. 4] | j in 1 .. 4];
Я попробовал несколько способов.
Это зависит от того, что вы хотите сделать. Вот несколько разных подходов, которые будут писать P как матрицу. Первый записывает матрицу в виде списков ([...]), второй - только выводит значения.
output [
show([P[j,p] | p in 1 .. 4]) ++ "\n"
| j in 1 .. 4
];
output [
if p = 1 then "\n" else " " endif ++
show(P[j,p])
| j in 1 .. 4, p in 1 .. 4
];
Update: В MiniZinc 2.0 (по крайней мере, в довольно последнюю версию Git), теперь есть show2d предикат:
output [ show2d(P)];
я был в состоянии адаптироваться, что к моему большему коду и после нескольких наконец-то попробовал его работать - спасибо! –