Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2013, 09:32   #1
zaki
Пользователь
 
Регистрация: 06.05.2011
Сообщений: 75
По умолчанию lisp рекурсии

Есть список L. Нужно брать из этого списка каждый 2 элемент, и производить с ним какое то действие ( сам сделаю, нужно только понять как брать нужный мне элемент рекурсией)
Сам пока только имею это:
(defun steep2 (l)
(cond ((NULL l) NIL)
(T (......))))
zaki вне форума Ответить с цитированием
Старый 28.10.2013, 14:46   #2
zaki
Пользователь
 
Регистрация: 06.05.2011
Сообщений: 75
По умолчанию

Есть вот что:
(defun first4 (l)
(cond ((NULL l) NIL)
(T (setf (car (cddr l)) (* (car (cddr l)) 2)))))(print l))

>> (first4 `(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15))

Возвращает:
NIL
(13 14 30)
(10 11 24 13 14 30)
(7 8 18 10 11 24 13 14 30)
(4 5 12 7 8 18 10 11 24 13 14 30)
(1 2 6 4 5 12 7 8 18 10 11 24 13 14 30)
(1 2 6 4 5 12 7 8 18 10 11 24 13 14 30)


Подозреваю - что неправильное условие в cond... Не могу сообразить
zaki вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP Electroflower Помощь студентам 1 06.01.2012 11:15
lisp Hevadimka Фриланс 0 09.10.2011 12:54
Lisp HGK Фриланс 0 29.12.2010 08:45
LISP vitalik_b1 Помощь студентам 0 30.10.2010 14:35
lisp. newprog12 Помощь студентам 0 24.01.2010 12:39