Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите решить задачи с отображающими функционало, две задачи 
:(
    Опции темы
Pa1nk1ller
Дата 4.12.2011, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем доброго времени суток!
помогите решить задачки. очень надо, а не получается.


С помощью отображающих функционалов построить декартово произведение двух множеств. Если заданы A={a b}, B={1 2 3}, то AxB={(a 1) (a 2) (a 3) (b 1) (b 2) (b 3)}

С помощью отображающих функционалов построить все возможные сочетания из n объектов по 2. Например, дано множество объектов {a b c d}, тогда все возможные сочетания по 2 это — (a b) (a c) (a d) (b c) (b d) (c d)

Заранее спасибо!!!
очень надеюсь на помощь!
PM MAIL   Вверх
newbee
Дата 5.12.2011, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


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

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



Код

(mapcar
 (lambda (x)
  (mapcar
   (lambda (y) (list x y))
   '(1 2 3)))
 '(a b)))
В результате будет (((A 1) (A 2) (A 3)) ((B 1) (B 2) (B 3))). Ты можешь склеить это в один список, как у тебя в задании, с помощью (apply 'append).

Добавлено через 59 секунд
Это первое задание. Второе - лень smile И, да, вот еще.
Цитата(Pa1nk1ller @  4.12.2011,  20:36 Найти цитируемый пост)
очень надеюсь на помощь! 
Очень надеяться надо только на себя.

Добавлено через 2 минуты
Надеюсь, я правильно поняла, что такое "льлюражающий функционал".

Добавлено через 2 минуты и 39 секунд
Блин, отображающий, рука с клавы вбок ушла))


--------------------
You're face to face
With man who sold the world
PM   Вверх
_sg
Дата 25.4.2014, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

(defun cartesian-product-sorted (w v)
  (mapcan #'(lambda (e)
              (mapcar #'(lambda (a) `(,a ,e))
                      (loop for a in
                            (sort (mapcar #'string w)
                                  #'string<)
                            collect (intern a))))
          (sort v #'<)))
 
> (cartesian-product-sorted '(b c a) '(3 1 2))
((A 1) (A 2) (A 3) (B 1) (B 2) (B 3) (C 1) (C 2) (C 3))

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

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

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


 




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


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

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