Контрольная работа: Особенности вычисления определителя матрицы
(IF (= (AREF MATRIX J J) 0)
(PROGN
(SETQ II (+ J 1))
;ИЩЕМ СТРОКУ В КОТОРОЙ J-Й ЭЛЕМЕНТ НЕ 0
(DO
(())
((OR (/= (AREF MATRIX II J) 0) (= II (- SIZE 1))))
(SETQ II (+ II 1))
)
;ЕСЛИ НЕТ ТАКОЙ СТРОКИ ОПРЕДЕЛИТЕЛЬ РАВЕН 0
(IF (AND (= (AREF MATRIX II J) 0) (= II (- SIZE 1))) (SETQ T_ 0))
;МЕНЯЕМ J СТРОКУ И НАЙДЕННУЮ
(DO
((K 0))
((>= K SIZE))
(SETF (AREF R K) (AREF MATRIX J K))
(SETF (AREF MATRIX J K) (AREF MATRIX II K))
(SETF (AREF II K) (AREF R K))
(SETQ K (+ K 1))
)
)
)
;ПРЯМОЙ ХОД
;ПРИВЕДЕНИЕ К ТРЕУГОЛЬНОМУ ТИПУ
(DO
((I (+ J 1)))
((>= I SIZE))
;ЕСЛИ (AREF MATR I J)=0 ДЕЛАТЬ НИЧЕГО НЕ НАДО
(IF (/= (AREF MATRIX I J) 0)