如何在此示例中访问没有列表的矩阵元素?

时间:2016-04-18 12:41:48

标签: haskell matrix dimension

我在哈斯克尔很新。我们的任务是编写一个算法来计算方阵的维数。但我们不应该使用列表。但我不知道如何访问矩阵的每个元素,就像这样:

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

1 个答案:

答案 0 :(得分:2)

要访问行i和列j的矩阵元素,您只需使用matrixA i j即可。实际上,matrixA是一个将索引映射到矩阵元素的函数。

我猜最后-1个案例代表一个无效的值,意味着"矩阵之外的索引"。因此,似乎要找到大小,您只需查询具有越来越大的行/列索引的矩阵,直到获得-1。解决这个问题的基本方法是递归地进行。