![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 70
|
![]()
Добрый день! Есть такая задача
Дан список (a b c d). Необходимо преобразовать его в список (a (b) c (d)) используя рекурсию. Делаю так (defun mf1 (l) (cond ((null l) nil) (t (cons (cons (car l) (list (cadr l))) (mf1 (cddr l)) ) ) ) ) вбиваем -->(mf1 '(a b c d)) а выходит так ((a b) (c d)) и я не пойму почему? |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
Не специалист по лиспу, но
Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 70
|
![]()
выводит на результат nil, список остается прежним
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
Возвращает Nil, это да, но список меняется, я проверял.
Вы уверены, что список сохраняется между вызовами? Код:
Последний раз редактировалось netrino; 22.02.2011 в 18:58. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 70
|
![]() ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на структуроразрушающие функции. Лисп | s2dentishe | Помощь студентам | 2 | 20.02.2011 12:02 |
Лисп (рекурсии и списки) | Dmitro62 | Помощь студентам | 0 | 19.01.2011 20:11 |
Задача на ЛИСП | Alexey123 | Помощь студентам | 2 | 24.12.2010 16:27 |
Лисп: Применение. Рейтинги. | Levsha100 | Свободное общение | 2 | 26.04.2010 06:55 |
Лисп сопоставить | leest | Помощь студентам | 9 | 09.03.2010 23:13 |