> 1 <

Автор Сообщение

Kir_b

Members


Статус

4 сообщений

Где: Russia
Род занятий:
Возраст:

#5753   2012-02-26 22:17 GMT+3 часа(ов)      
Всем доброго времени суток.
Начал самостоятельно изучать Lisp, ознакомился с теорией. В конце учебника натолкнулся на пример, который не могу решить:

Разработать функцию, объединяющую два списка в результирующий список, в котором чередуются элементы исходных списков.
Например:
Вход: (a b c d e), (x y z).
Выход: (a x b y c z d e).

Заранее спасибо за помощь.

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#5754   2012-02-26 22:47 GMT+3 часа(ов)      
(defun foo(A B)
(if A
(if B
(append (list (car A) (car B)) (foo (cdr A) (cdr B))) A)
(if B B nil)))
 
(defun bar(A B &optional (R nil))
(if A
(if B
(bar (cdr A) (cdr B) (append R (list (car A) (car B))))
(append R A))
(if B
(append R B) R)))
I wish I'd made you angry earlier

Kir_b

Members


Статус

4 сообщений

Где: Russia
Род занятий:
Возраст:

#5755   2012-02-27 00:55 GMT+3 часа(ов)      
Спасибо вам огромное. Ответ исчерпывающий.
> 1 <


Онлайн :

0 пользователь(ей), 35 гость(ей) :




Реклама на сайте: