在此示例中如何访问没有列表的矩阵元素?
How to access the elements of a matrix without lists in this example?
我是 haskell 的新手。我们的任务是编写一个计算方阵维数的算法。但是我们不应该使用列表。但是我不知道如何访问矩阵的每个元素,它是这样给出的:
matrixA 1 1 = 0
matrixA 1 2 = 42
matrixA 1 3 = 1337
matrixA 2 1 = 501
matrixA 2 2 = 314
matrixA 2 3 = 301
matrixA 3 1 = 13
matrixA 3 2 = 161
matrixA 3 3 = 271
matrixA _ _ = -1
要访问行 i
和列 j
的矩阵元素,您可以简单地使用 matrixA i j
。事实上,matrixA
是一个将两个索引映射到矩阵元素的函数。
我猜最后一个 -1
案例代表了一个无效值,意思是 "indexes outside the matrix"。因此,似乎要找到大小,您只需查询具有越来越大 row/column 索引的矩阵,直到得到 -1
。解决这个问题的一个基本方法是递归地进行。
我是 haskell 的新手。我们的任务是编写一个计算方阵维数的算法。但是我们不应该使用列表。但是我不知道如何访问矩阵的每个元素,它是这样给出的:
matrixA 1 1 = 0
matrixA 1 2 = 42
matrixA 1 3 = 1337
matrixA 2 1 = 501
matrixA 2 2 = 314
matrixA 2 3 = 301
matrixA 3 1 = 13
matrixA 3 2 = 161
matrixA 3 3 = 271
matrixA _ _ = -1
要访问行 i
和列 j
的矩阵元素,您可以简单地使用 matrixA i j
。事实上,matrixA
是一个将两个索引映射到矩阵元素的函数。
我猜最后一个 -1
案例代表了一个无效值,意思是 "indexes outside the matrix"。因此,似乎要找到大小,您只需查询具有越来越大 row/column 索引的矩阵,直到得到 -1
。解决这个问题的一个基本方法是递归地进行。