Максимальные элементы во вложенных списках - Lisp

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

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

Нужна функция, которая будет искать и выводить максимум на каждом уровне списка (то есть каждый вложенный список должен как-то обрабатываться). Нагуглил такую функцию, но она ищет максимум на всех уровнях сразу, а не на каждом в отдельности:
Листинг программы
  1. (defun F (L)
  2. (if L
  3. ((lambda (elem result)
  4. (cond
  5. ((null result) elem)
  6. ((> elem result) elem)
  7. (T result)))
  8. ((lambda (elem)
  9. (if (atom elem) elem (F elem)))
  10. (car L))
  11. (F (cdr L)))))
Среда: muLISP

Решение задачи: «Максимальные элементы во вложенных списках»

textual
Листинг программы
  1.  
  2. $(rds common)
  3. COMMON
  4. $TASK
  5. $
  6. Undefined Function Break: (LET ((NL (REMOVE-IF (QUOTE LISTP) LST)) (LL (
  7. REMOVE-IF (QUOTE NUMBERP) LST)) (R NIL)) (DOLIST (I LL R) (SETQ R (APPEND R (
  8. TASK I)))) (IF NL (APPEND (LIST (APPLY (QUOTE MAX) NL)) R) R))
  9. Continue, Break, Abort, Top-level, Restart, System?

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


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

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

10   голосов , оценка 3.9 из 5

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

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

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