Ошибка в коде - Lisp (229955)

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

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

Привет, всем. Недавно начал изучать LISP (uLISP). И возникли трудности с написанием программы. Необходимо сравнить элемент списка с числом в программе поиска одинаковых чисел, сравнения их с заданным и вывода итога. Лисп выдает ошибку где-то в
(> (car list2) comparenumber)
.
(defun belongs (elem list)
    (cond   ((null list) NIL)
                ((eq elem (car list)) T)
                (T (belongs elem (cdr list)))))
 
(defun intersection (list1 list2 comparenumber)
    (cond   ((null list2) NIL)
            ((and (belongs (car list2) list1) (> (car list2) comparenumber))
                    (cons (car list2)(intersection list1 (cdr list2))))
            (T (intersection list1 (cdr list2)))))
А, например, для отдельной программы сравнения все прекрасно работает. Помогите найти ошибку, пожалуйста.
(defun compare (list number)
    (if (> (car list) number) true false)
)
А все нашел

Решение задачи: «Ошибка в коде»

textual
Листинг программы
(defun find-path (tree node &optional path)
  (if (eq (car tree) node)
      (reverse (cons node path))
      (reduce (lambda (p x)
                (or p (find-path x
                                 node
                                 (cons (car tree) path))))
              (cdr tree)
              :initial-value nil)))

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


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

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

8   голосов , оценка 4.125 из 5