小编Bel*_*dar的帖子

为什么"..."出现在我对Prolog中矩阵的回答中

我创建了一个用于创建坐标矩阵的代码(如棋盘),它是以下内容:

createMatrix(N,M,R) :- creaMatriu(N,M,A), reversed(R,A).
creaMatriu(N,0,[T]) :- creafila(N,0,T),!.
creaMatriu(N,M,[T|C]) :- creafila(N,M,T), M1 is M-1, creaMatriu(N,M1,C).
creafila(0,M,[[M,0]]):-!.
creafila(N,M,[[M,N]|C]) :-N1 is N-1,creafila(N1,M,C).
reversed(A, B) :- reversed(B, [], A).
reversed([A|B], C, D) :- reverse(N,A),reversed(B, [N|C], D).
reversed([], A, A).
Run Code Online (Sandbox Code Playgroud)

我第一次执行它很顺利,但是当我增加矩阵的尺寸时,矩阵末端的"点"开始出现随着尺寸上升而递增一个坐标,如下所示:

?- createMatrix(1,1,R).
R = [[[0, 0], [0, 1]], [[1, 0], [1, 1]]] .

?- createMatrix(2,1,R).
R = [[[0, 0], [0, 1], [0, 2]], [[1, 0], [1, 1], [1, 2]]] .

?- createMatrix(2,2,R).
R = [[[0, 0], [0, 1], [0, 2]], [[1, 0], [1, …
Run Code Online (Sandbox Code Playgroud)

matrix prolog coordinates prolog-toplevel

7
推荐指数
1
解决办法
1013
查看次数

标签 统计

coordinates ×1

matrix ×1

prolog ×1

prolog-toplevel ×1