gpt4 book ai didi

arrays - 在lisp中打印第i行第j列值

转载 作者:太空宇宙 更新时间:2023-11-03 18:54:36 27 4
gpt4 key购买 nike

我将输入 N 作为 lisp 中二维矩阵的行数,其中每行最多可以包含 5 个元素。所以我这样做了。现在对于每一行,因为它可以有 0 到 5 之间的任意数量的元素。所以我制作了一个单独的数组来存储 2D 矩阵每一行的大小,并在我将任何元素插入其中时递增它

(setq myMatrix (make-array (list N 5)))

(setq sizeArray (make-list N:initial-element 0))

现在,当我需要向任何行添加元素时,我会在该行具有最大元素或用户自己退出以在该行中输入更多元素时进行输入。要向第 i 行添加一个元素,我会这样做:

(setf (aref myMatrix i (nth i sizeArray)) "Hi")
// Hi is just for example here
(setf (nth i sizeArray) (+ 1 (nth i sizeArray)))

现在我想像这样打印 myMatrix 的第 i 行:

Item 1 : myMatrix[i][0]
Item 2 : myMatrix[i][1]..and so on

以直接方式,我想要第 i 行的第 j 个值。我们如何在 lisp 中得到这个?

最佳答案

因为您正在使用列表数组,如何:

(defun element-of-matrix (matrix i j)
(nth j (aref matrix i)))

关于arrays - 在lisp中打印第i行第j列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30625985/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com