SWI-Prolog矩阵。如何通过索引查找元素的值?

时间:2015-04-25 18:00:57

标签: prolog

map(1,
   [[1,_,_,_,_,_,_,_,_,_],
    [1,1,_,_,1,1,_,_,_,_],
    [_,1,_,_,1,_,_,_,_,_],
    [_,_,_,_,_,_,_,_,_,_],
    [_,_,1,_,_,_,1,_,_,_],
    [_,1,1,_,_,_,_,_,_,_],
    [_,_,_,_,_,_,_,1,1,_],
    [_,_,_,_,_,_,_,_,_,_],
    [_,_,_,_,_,_,_,_,_,_],
    [_,_,_,_,_,_,_,_,_,_]]).

这是我的矩阵。如何从第二行和第一列中找到元素的值?我不知道我怎么做。谁能帮帮我?

非常感谢!

1 个答案:

答案 0 :(得分:2)

你可以在/ 4

写一个4参数谓词
at(Mat, Row, Col, Val) :- nth1(Row, Mat, ARow), nth1(Col, ARow, Val).

并将其称为

test :- map(_, Map), at(Map, 2, 1, Val), write(Val).