Курсовая работа: ЛИСП-реализация операций над матрицами
(SETQ I (+ I 1))
)
RES_MATRIX
)
)
)
;ВЫЧИТАНИЕ МАТРИЦ
(DEFUN SUBTR_MATRIX (MATR1 MATR2 R1 R2 C1 C2)
;МАССИВ РАЗНОСТИ ДВУХ МАТРИЦ
(DECLARE (SPECIAL RES_MATRIX))
;ЕСЛИ ЧИСЛО СТРОК МАТРИЦЫ 1 НЕ РАВНО ЧИСЛУ СТРОК И СТОЛБЦОВ МАТРИЦЕ 2, ТО ВЫЧИТАНИЕ МАТРИЦ НЕВОЗМОЖНО
(IF (OR (/= R1 R2) (/= C1 C2)) '"It is not possible to calculate the difference matrix"
(PROGN
(SETQ RES_MATRIX (MAKE-ARRAY (LIST R1 C1) :ELEMENT-TYPE 'INTEGER :INITIAL-ELEMENT 0))
(DO
((I 0))
((>= I R1))
(DO
((J 0))
((>= J C1))
(SETF (AREF RES_MATRIX I J) (- (AREF MATR1 I J) (AREF MATR2 I J)))
(SETQ J (+ J 1))
)
(SETQ I (+ I 1))
)
RES_MATRIX
)
)
)