(defun merge-matrix (matrix-1 matrix-2)
(if (not (or (eql (matrix-rows matrix-1) (matrix-rows matrix-2)) (null matrix-1) (null matrix-2))) (error "Invalid dimensions."))
(cond
((null matrix-1) (copy-tree matrix-2))
((null matrix-2) (copy-tree matrix-1))
(t (let ((result (copy-tree matrix-1)))
(dotimes (i (matrix-rows matrix-1))
(setf (nth i result) (nconc (nth i result) (nth i matrix-2))))
result))))
(fusion-matrice '((3 1) (3 1))' ((4 2) (1 1)))fusion de deux matrices ... en LISP
*** - EVAL: NULL variable n'a pas de valeur
Je reçois une erreur comme ça comment je peux résoudre le problème, merci
À quoi ressemble MATRIX-ROWS? Si j'utilise (defun matrix-rows (matrice) (matrice de longueur)) par exemple j'obtiens la réponse ((3 1 4 2) (1 3 1 1)). –
Qu'est-ce que la fonction est censée faire? – yan