如何获取矩阵中的所有诊断元素?
问题描述:
我想写一个函数来确定矩阵中的所有对角线元素是相同的。如何获取矩阵中的所有诊断元素?
例如:
?-diagonal([[1,2,3,4],
[2,1,5,6],
[6,2,1,9],
[8,7,5,1]]).
true.
任何帮助表示赞赏。
答
问题解决了......
diagonal([],_,_).
diagonal([Head|Tail],Index,Value),
nth0(Index,Head,Value),
IndexNext is Index+1,
diagonal(tail,IndexNext,Value).
测试:
?- diagonal([[1,2,3],
[5,1,6],
[9,3,1]],0,X).
X=1.
+0
你不需要结束第二行: - ?另外,最后一行不应该尾巴尾巴? –
你的问题不符合您的标题:得到=检查它们是相同的! –