如何使用LISP制作零点矩阵并将特定项目设置为一个

时间:2014-11-10 15:57:24

标签: arrays lisp common-lisp

我尝试用零制作二维矩阵,然后我需要将一些项目设置为一个

我试过了:

  

(defun my_array () (setq x (make-array '(5 5))) (setf (aref x 3 3) 1) (setf (aref x 3 4) 1) (setf (aref x 3 1) 1) (setf (aref x 3 2) 1) )

我用main函数调用它:

  

(defun main () (my_array) )

但它不起作用。我的代码的任务是:

  

34 > (step (main))

((0 0 0 0 0) (0 0 0 0 0)) ((0 0 0 0 0) (0 0 0 0 0)) ((0 0 0 0 0) (0 0 0 0 0)) NIL

任何人都可以告诉我,哪里出错,我该怎么做才对?我需要普遍的方式,因为我需要20x20的矩阵,现在我尝试学习矩阵操作

1 个答案:

答案 0 :(得分:4)

CL-USER 1 > (let ((array (make-array '(5 5) :initial-element 0)))
              (setf (aref array 0 0) 1)
              array)
#2A((1 0 0 0 0) (0 0 0 0 0) (0 0 0 0 0) (0 0 0 0 0) (0 0 0 0 0))