Массив: Найти наименьший элемент в секторе над главной диагональю матрицы... - Lisp

Узнай цену своей работы

Формулировка задачи:

Срочно нужно сдать лабу,думал сделаю сам,ничего не выходит,помимо этой лабы висит много чего,ничего не успеваю... Пожалуйста,помогите... Реализовать на common lisp Дана матрица размера 7*7.Найти в ней наименьший элемент в секторе над главной диагональю и наименьший элемент в секторе под главной диагональю. Наибольшим из них заменить элементы главной диагонали.

Решение задачи: «Массив: Найти наименьший элемент в секторе над главной диагональю матрицы...»

textual
Листинг программы
  1. (defun matrix-main (w &optional
  2.                     (n 0)
  3.                     (m (max (uni-min w t)
  4.                             (uni-min (cdr w))))
  5.                     &aux (a (car w)))
  6.   (when w (cons (progn (setf (nth n a) m) a)
  7.                 (matrix-main (cdr w) (1+ n) m))))
  8.  
  9. (defun uni-min (w &optional f)
  10.   (loop for a in w
  11.         for b from 1 to (1- (length (car w)))
  12.         minimize (reduce #'min (if f
  13.                                    (subseq a b)
  14.                                    (subseq a 0 b)))))
  15.  
  16. > (matrix-main '((1 2 3 4) (5 6 -7 8) (9 10 11 12) (13 -14 15 16)))
  17. ((-7 2 3 4) (5 -7 -7 8) (9 10 -7 12) (13 -14 15 -7))
  18. > (matrix-main '((1 2 3 4) (5 6 7 8) (9 10 11 12) (13 -14 15 16)))
  19. ((2 2 3 4) (5 2 7 8) (9 10 2 12) (13 -14 15 2))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.429 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы