Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 19.10.2016
Сообщений: 2

Сконструировать функцию которая реализовывает декартово произведение множеств представленных в форме списков

20.10.2016, 00:01. Показов 839. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сконструировать функцию которая реализовывает декартово произведение множеств представленных в форме списков.
Например для множеств X=(A B C) и Y=(2 3) результатом вызова (CARTEZIAN X Y)
будет список ((A 2) (A 3) (B 2) (B 3) (C 2) (C 3) ).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.10.2016, 00:01
Ответы с готовыми решениями:

Декартово произведение множеств
Написать функцию, образующую декартово произведение двух заданных множеств X и Y. Функция должна формировать лексикографически...

Используя отображающие функционалы построить декартово произведение двух множеств
Всем доброго времени суток! помогите решить задачки. очень надо, а не получается. С помощью отображающих функционалов построить...

Декартово произведение множеств
всем привет. помогите пожалуйста написать программу, которая будет считать декартово произведение и записывать результат в файл то есть...

2
 Аватар для _sg
4709 / 4404 / 380
Регистрация: 12.05.2012
Сообщений: 3,101
20.10.2016, 10:37
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(defun cartesian-product-sorted (w v)
  (cartesian-product (sort-lets w) (sort v #'<)))
 
(defun sort-lets (w)
  (loop for a across
        (sort (apply #'concatenate
                     'string
                     (mapcar #'string w))
              #'char<)
        collect (intern (string a))))
 
(defun cartesian-product (w v) 
  (when w 
    (append
     (maplist
      #'(lambda (e) (list (car w) (car e))) v)
     (cartesian-product (cdr w) 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))
Добавлено через 18 секунд
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(defun cartesian-product-sorted (w v)
  (cartesian-product (sort-lets w) (sort v #'<)))
 
(defun sort-lets (w)
  (loop for a across
        (sort (apply #'concatenate
                     'string
                     (mapcar #'string w))
              #'char<)
        collect (intern (string a))))
 
(defun cartesian-product (w v)
  (apply
   #'nconc
   (mapcar
    #'(lambda (e) (mapcar #'(lambda (a) (list e a)) v)) w)))
 
> (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))
Добавлено через 13 секунд
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(defun cartesian-product-sorted (w v)
  (cartesian-product (sort-lets w) (sort v #'<)))
 
(defun sort-lets (w)
  (loop for a across
        (sort (apply #'concatenate
                     'string
                     (mapcar #'string w))
              #'char<)
        collect (intern (string a))))
 
(defun cartesian-product (w v)
  (mapcan (lambda (e) (mapcar (lambda (a) `(,a ,e)) w)) 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))
Добавлено через 16 секунд
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
(defun cartesian-product-sorted (w v)
  (cartesian-product (sort-lets w) (sort v #'<)))
 
(defun sort-lets (w)
  (loop for a in
        (sort (mapcar #'string w) #'string<)
        collect (intern a)))
 
(defun cartesian-product (w v)
  (mapcan (lambda (e) (mapcar (lambda (a) `(,a ,e)) w)) 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))
Добавлено через 21 секунду
Lisp
1
2
3
4
5
6
7
8
9
10
11
(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))
Добавлено через 15 секунд
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
(defun cartesian-product-sorted (w v)
  (cartesian-product (sort-lets w) (sort v #'<)))
 
(defun sort-lets (w)
  (loop for a in
        (sort (mapcar #'string w) #'string<)
        collect (intern a)))
 
(defun cartesian-product (w v)
   (loop for e in w nconc (loop for a in v collect (list e a))))
 
> (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))
Добавлено через 19 секунд
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
(defun cartesian-product-sorted (w v)
  (cartesian-product
   (loop for a in
         (sort (mapcar #'string w) #'string<)
         collect (intern a))
   (sort v #'<)))
 
(defun cartesian-product (w v)
   (loop for e in w nconc (loop for a in v collect (list e a))))
 
> (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))
Добавлено через 17 секунд
Lisp
1
2
3
4
5
6
7
8
(defun cartesian-product-sorted (w v)
  (loop for e in (loop for a in (sort (mapcar #'string w) #'string<)
                       collect (intern a))
        nconc (loop for a in (sort v #'<)
                    collect (list e a))))
 
> (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))
Добавлено через 15 секунд
Lisp
1
2
3
4
5
6
7
8
9
10
11
(defun cartesian-product-sorted (w v)
  (loop for e in
        (loop for a in (sort (loop for c in w
                                   collect (string c))
                             #'string<)
              collect (intern a))
        nconc (loop for a in (sort v #'<)
                    collect (list e a))))
 
> (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))
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38177 / 21112 / 4307
Регистрация: 12.02.2012
Сообщений: 34,716
Записей в блоге: 14
20.10.2016, 12:09
Homelisp:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
(defun decart (s1 s2)
 (let ((r nil))
  (iter (for a in s1)
    (iter (for b in s2) (collecting (list a b) into r))) r))
 
 
==> DECART
 
(decart '(a b c) '(1 2 3))
 
==> ((A 1) (A 2) (A 3) (B 1) (B 2) (B 3) (C 1) (C 2) (C 3))
 
(defun decart (s1 s2)
 (apply 'append (mapcar (lambda (x) (mapcar (lambda (y) (list x y)) s1)) s2)))
 
==> DECART
 
(decart '(a b c) '(1 2 3))
 
==> ((1 A) (1 B) (1 C) (2 A) (2 B) (2 C) (3 A) (3 B) (3 C))
 
(defun decart (s1 s2)
  (labels ((f (x lst) 
              (cond ((null lst) nil)
                    (t (cons (list x (car lst)) (f x (cdr lst)))))))
           (cond ((null s1) nil)
                 (t (append (f (car s1) s2) (decart (cdr s1) s2))))))
 
==> DECART
 
(decart '(a b c) '(1 2 3))
 
==> ((A 1) (A 2) (A 3) (B 1) (B 2) (B 3) (C 1) (C 2) (C 3))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.10.2016, 12:09
Помогаю со студенческими работами здесь

Декартово произведение множеств
Посчитайте |(A\times B)\backslash (C\times...

Декартово произведение множеств
Найти n-ю степень множества X=\{\{ \empty\}, y\}, если n=2

Декартово произведение двух множеств
Изобразите на координатной плоскости декартово произведение двух множеств АхВ, если: а)А={2,4,6},B={0,1}; б)А=R, B=; в)A=,...

Построить декартово произведение булеанов множеств
Приветствую, столкнулся с проблемой. Даны множества: A={1,2}, C={*,⊕} К ним я построил булеаны B(A)={{∅},{1},{2},{1,2}} ...

Переделать декартово произведение множеств на формах
Помогите переписать код под builder Суть в том чтобы сделать робочую програму с графическим интерфейсом код: #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru