Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Теоретико-множественная разность списков, Проблемы с задачей 
:(
    Опции темы
Horror89
Дата 26.4.2010, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 26.4.2010

Репутация: нет
Всего: нет



Здравствуйте , возникла проблема с выполнением задания на Lisp .
Задача располагалось в разделе рекурсии , я пока в принципе не много Lisp знаю и с самой целью задачи не разбирался. Был бы очень благодарен если бы мне кто нибудь объяснил рекурсию на конкретных программных примерах(lisp) , а не в математическом виде.
А если кто-то поможет и с самой задачей был бы ещё более благодарен =)))
Вот собственно задача.

Разработать функцию, находящую теоретико-множественную разность двух списков.
Например:
Вход: (1 2 3 4 5), (4 5 6 7).
Выход: (1 2 3). 
PM MAIL   Вверх
_sg
Дата 22.12.2012, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 16.5.2007

Репутация: 2
Всего: 2



Код

(defun our-set-difference (w v)
  (cond ((null w) w)
        ((member (car w) v) (our-set-difference (cdr w) v))
        ((cons (car w) (our-set-difference (cdr w) v)))))

> (our-set-difference '(1 2 3 4 5) '(4 5 6 7))
(1 2 3)

--------------------
vk.com/ansicommonlisp
PM MAIL   Вверх
_sg
Дата 25.4.2014, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 16.5.2007

Репутация: 2
Всего: 2



Код

(defun our-set-difference (w v)
  (when w (if (member (car w) v)
              (our-set-difference (cdr w) v)
              (cons (car w) (our-set-difference (cdr w) v)))))

> (our-set-difference '(1 2 3 4 5) '(4 5 6 7))
(1 2 3)

--------------------
vk.com/ansicommonlisp
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума LISP
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Lisp — это целое семейство языков. Всегда указывайте в теме используемый диалект (Common Lisp, Scheme и т.д.).
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LISP | Следующая тема »


 




[ Время генерации скрипта: 0.1100 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.