> 1 <

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

Lisp57

Members


Статус

3 сообщений

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

#7672   2015-12-19 01:33 GMT+3 часа(ов)      
Доброго времени суток!
Кто-нибудь встречался с подобной задачей на языке обработки списков (LISP)?
Реализовать стек в виде списка. Дана величина a строкового типа из четного количества символов (стек №1). Получить и напечатать величину b (стек №2), состоящую из символов первой половины величины a, записанных в обратном порядке, после которых идут символы второй половины величины a, также записанные в обратном порядке (используя промежуточный стек №3). Например, при а = "привет" b должно быть равно "ирптев".

Valko

Members


Статус

29 сообщений

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

#7683   2015-12-20 14:27 GMT+3 часа(ов)      
Нет, никто.

Lisp57

Members


Статус

3 сообщений

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

#7686   2016-01-04 17:00 GMT+3 часа(ов)      
(defun wtf (a)
(let ((b (reverse (subseq a 0 (/ (length a) 2))))
(c (reverse (subseq a (/ (length a) 2) (length a)))))
(format t "~s" (concatenate 'string b c))))

* (wtf "привет")
"ирптев"
NIL

Valko

Members


Статус

29 сообщений

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

#7688   2016-01-05 19:03 GMT+3 часа(ов)      
(wtf "приве")
Error: 5/2 is illegal as a sequence end index.

_sg

Members


Статус

31 сообщений

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

#7689   2016-01-09 13:58 GMT+3 часа(ов)      
(defun wtf (a &aux (m (/ (length a) 2)))
(concatenate 'string
(reverse (subseq a 0 m))
(reverse (subseq a m))))
 
> (wtf "abcdef")
"cbafed"
> 1 <


Онлайн :

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




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