2017-10-16 88 views
-2

我想寫一個函數來確定矩陣中的所有對角線元素是相同的。如何獲取矩陣中的所有診斷元素?

例如:

?-diagonal([[1,2,3,4], 
      [2,1,5,6], 
      [6,2,1,9], 
      [8,7,5,1]]). 
    true. 

任何幫助表示讚賞。

+0

你的問題不符合您的標題:得到=檢查它們是相同的! –

回答

0

問題解決了......

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

你不需要結束第二行: - ?另外,最後一行不應該尾巴尾巴? –

相關問題