Курсовая работа: ЛИСП-реализация операций над матрицами
((J 0))
((>= J C2))
(SETQ TEMP 0)
(DO
((P 0))
((>= P C1))
(SETQ TEMP (+ TEMP (* (AREF MATR1 I P) (AREF MATR2 P J))))
(SETQ P (+ P 1))
)
(SETF (AREF RES_MATRIX I J) TEMP)
(SETQ J (+ J 1))
)
(SETQ I (+ I 1))
)
RES_MATRIX
)
)
)
;ТРАНСПОНИРОВАНИЕ МАТРИЦЫ
(DEFUN FLIP (MATR ROW COL)
(DECLARE (SPECIAL RES_MATRIX))
;ЕСЛИ КОЛИЧЕСТВО СТРОК И СТОЛБЦОВ НЕ РАВНО МАТРИЦУ НЕЛЬЗЯ ТРАНСПОНИРОВАТЬ
(IF (/= ROW COL) '"It is not possible to flip matrice"
(PROGN
;ОБНУЛЯЕМ МАТРИЦУ РЕЗУЛЬТАТ
(SETQ RES_MATRIX (MAKE-ARRAY (LIST COL ROW) :ELEMENT-TYPE 'INTEGER :INITIAL-ELEMENT 0))
(DO
((I 0))
((>= I ROW))