0
例如,我有这样的序言二维数组:如何在prolog中查找二维数组中的最大数量?
[1 ,2 ,3].
[4 ,1 ,3].
[1 ,3 ,4].
如何找到在这个二维数组最大数量? (这是“4”)
(所以我可以写一些代码,检查是否max为偶数或奇数,返回“真” /“假”为我的序言功能)
例如,我有这样的序言二维数组:如何在prolog中查找二维数组中的最大数量?
[1 ,2 ,3].
[4 ,1 ,3].
[1 ,3 ,4].
如何找到在这个二维数组最大数量? (这是“4”)
(所以我可以写一些代码,检查是否max为偶数或奇数,返回“真” /“假”为我的序言功能)
假设你代表矩阵列表的列表,你有一个谓词来获取列表的最大值(这里,我用max_list/2
从SWI-Prolog的),你可以做这样的:
max_matrix(L, M) :-
maplist(max_list, L, Ms),
max_list(Ms, M).
边缘案件和其他怪癖留给你...
首先,你需要告诉我们你是如何代表二维数组。到目前为止你所定义的谓词是什么?你有什么尝试? – vmg
通常情况下,要找到最大值,请取第一个元素,然后继续与下一个元素进行比较,保留较大的元素。一旦你不在元素你知道你有最大的。 – 2017-04-17 11:21:59