Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ис списка (a a a a a a a a) список ((a a) (a a) (a a) (a a)) 
V
    Опции темы
Eduard1
Дата 30.1.2009, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



Никак не могу сообразить.  smile  
Создаю список  *(spisok 'a 8) получается такой список (a a a a a a a a), из него надо сделать ((a a) (a a) (a a) (a a))  

Код

(defun spisok (x n) 
    (cond  
       ((<= n 0) nil) 
       (t (cons x (spisok x (- n 1)))) 
    ) 
) 

 

Отдельно я сделал так: 

Код


(defun para (lst) 
    (cond 
       ((null lst) nil) 
       ((null (cdr lst)) nil) 
       (t (cons (list (car lst) (cadr lst)) (para (cddr lst)))) 
    ) 
)    



*(para lst '(a b c d)) 
((a b) (c d))  

Как сделать так чтобы при создании списка сразу создавались пары ((a a) (a a) (a a))?  


Это сообщение отредактировал(а) Eduard1 - 30.1.2009, 12:30
PM MAIL   Вверх
VH_
Дата 30.1.2009, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 31.10.2006

Репутация: 10
Всего: 11



Код

(defun F (e n)
 (cond
  ((<= n 0) nil)
  ((< n 2) (cons e nil))
  (T (cons (cons e (cons e nil)) (F e (- n 2))))))


PM MAIL   Вверх
_sg
Дата 24.4.2014, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 16.5.2007

Репутация: 2
Всего: 2



как вариант:
Код

(defun pair-elms (w)
  (when (cdr w) (cons (list (car w) (cadr w)) (pair-elms (cddr w)))))

> (pair-elms '(a a a a a a a a))
((A A) (A A) (A A) (A A))

--------------------
vk.com/ansicommonlisp
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума LISP
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Lisp — это целое семейство языков. Всегда указывайте в теме используемый диалект (Common Lisp, Scheme и т.д.).
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LISP | Следующая тема »


 




[ Время генерации скрипта: 0.0397 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.