【发布时间】:2011-12-21 09:59:02
【问题描述】:
我整个下午都在做一件简单的事情,但由于某种原因似乎无法正确完成:如何将列表转换为给定宽度的矩阵。
示例: 我有一个列表,例如
[1, 3, 5, 7, 6, 8, 9, 0]
并想创建一个矩阵如
[[1, 3],
[5, 7],
[6, 8],
[9, 0]]
通过谓词
list2matrix/3 : list2matrix(List, Size_of_Rows, Matrix).
在本例中使用如下:
list2matrix([1, 3, 5, 7, 6, 8, 9, 0], 2, Matrix).
如果列表的长度不是行大小的倍数,则谓词应该失败。
我决定不发布我的作品,因为我认为我写错了,这无助于我对其进行更正;(
如果您能提出有关如何处理此类问题的任何线索,请提前致谢。
【问题讨论】:
-
您的问题陈述不完整。
list2matrix([1, 3, 5], 2, Matrix)是成功还是失败?如果成功,应将[5]删除或扩展为[5,_]或其他任何值。 -
假设它会失败,感谢您指出这一点。因为我打算在正方形长度的列表上使用它,所以我不精确;(
标签: prolog