0

これを MiniZinc でコンパイルするように修正するにはどうすればよいですか。

output [[show (P[j,p]) ++ "\n" | p in 1 .. 4] | j in 1 .. 4];

いくつかの方法を試しました。

4

1 に答える 1

0

それはあなたが何をしたいかによります。P を行列として記述するいくつかの異なるアプローチを次に示します。最初のものは行列をリスト ([...]) として書き込み、2 番目のものは単に値を出力します。

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
];

更新: MiniZinc 2.0 (少なくともかなり最近の Git バージョン) では、show2d 述語が追加されました。

 output [ show2d(P)];
于 2015-02-07T17:14:36.790 に答える