SWI-序言矩阵。如何通过索引查找元素的值?
SWI-Prolog Matrix. How to find the value of an element by indexes?
map(1,
[[1,_,_,_,_,_,_,_,_,_],
[1,1,_,_,1,1,_,_,_,_],
[_,1,_,_,1,_,_,_,_,_],
[_,_,_,_,_,_,_,_,_,_],
[_,_,1,_,_,_,1,_,_,_],
[_,1,1,_,_,_,_,_,_,_],
[_,_,_,_,_,_,_,1,1,_],
[_,_,_,_,_,_,_,_,_,_],
[_,_,_,_,_,_,_,_,_,_],
[_,_,_,_,_,_,_,_,_,_]]).
这是我的矩阵。如何从第二行和第一列中找到元素的值?。我不知道我该怎么做。谁能帮帮我?
非常感谢!
你可以写一个 4 参数谓词,at/4
at(Mat, Row, Col, Val) :- nth1(Row, Mat, ARow), nth1(Col, ARow, Val).
并这样称呼它
test :- map(_, Map), at(Map, 2, 1, Val), write(Val).
map(1,
[[1,_,_,_,_,_,_,_,_,_],
[1,1,_,_,1,1,_,_,_,_],
[_,1,_,_,1,_,_,_,_,_],
[_,_,_,_,_,_,_,_,_,_],
[_,_,1,_,_,_,1,_,_,_],
[_,1,1,_,_,_,_,_,_,_],
[_,_,_,_,_,_,_,1,1,_],
[_,_,_,_,_,_,_,_,_,_],
[_,_,_,_,_,_,_,_,_,_],
[_,_,_,_,_,_,_,_,_,_]]).
这是我的矩阵。如何从第二行和第一列中找到元素的值?。我不知道我该怎么做。谁能帮帮我?
非常感谢!
你可以写一个 4 参数谓词,at/4
at(Mat, Row, Col, Val) :- nth1(Row, Mat, ARow), nth1(Col, ARow, Val).
并这样称呼它
test :- map(_, Map), at(Map, 2, 1, Val), write(Val).