> 1 <

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

PATRI0T

Members


Статус

6 сообщений

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

#3347   2010-11-08 18:04 GMT+3 часа(ов)      
Напишите функцию INSLIST, зависящую от трех аргументов N, U и V, вставляющую в список U, начиная с N-го элемента, обращенный список V. Например:
$ (INSLIST (2 (A B) (C D)))
(A D C B)

megamanx

Members


Статус

307 сообщений

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

#3351   2010-11-09 00:43 GMT+3 часа(ов)      
(defun inslist (N U V)
(declare (fixnum N))
(cond
((or (> N (length U)) (<= N 0)) (print "error inslist: bad arguments"))
(T
(labels ((ret (N U V)
(cond
((null U) nil)
((= (length U) N) (reverse (append V U)))
(T
(append (ret N (cdr U) V) (list (car U))))
)))
(ret N (reverse U) V)))))

отредактировал(а) megamanx: 2010-11-09 00:57 GMT+3 часа(ов)
I wish I'd made you angry earlier

VH

Members


Статус

289 сообщений

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

#3354   2010-11-09 10:35 GMT+3 часа(ов)      
(defun INSLIST (N U V)
(cond
((minusp N) nil)
((null V) U)
((zerop N) (INSLIST N (cons (car V) U) (cdr V)))
(U (cons (car U) (INSLIST (1- N) (cdr U) V)))
(T (INSLIST 0 U V))))
> 1 <


Онлайн :

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