1 / 1 / 0
Регистрация: 12.05.2011
Сообщений: 31
|
||||||
1 | ||||||
Декартово произведение множеств02.12.2013, 02:01. Показов 6343. Ответов 24
Метки нет (Все метки)
Написать функцию, образующую декартово произведение двух заданных множеств X и Y. Функция должна формировать лексикографически упорядоченный список, элементами которого являются всевозможные списки, содержащие по два элемента каждый, причем первый элемент берется из множества X, а второй – из Y.
функция написана, но не выполняется условие лексическографически упорядоченных списков. помогите понять какими методами его преобразовать
0
|
02.12.2013, 02:01 | |
Ответы с готовыми решениями:
24
Используя отображающие функционалы построить декартово произведение двух множеств Сконструировать функцию которая реализовывает декартово произведение множеств представленных в форме списков Как найти декартово произведение Декартово произведение множеств |
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
02.12.2013, 03:21 | 2 |
А почему не выполняется? Можете неработающий пример?
Вообще, ужасно написано. Если интересно, могу рассказать, почему.
0
|
1 / 1 / 0
Регистрация: 12.05.2011
Сообщений: 31
|
|
02.12.2013, 03:27 [ТС] | 3 |
пример выполняется по идее правильно, но нет упорядочения. он просто создает список из декартовых произведений. мне бы понять что сделать, чтобы и это условие выполнялось. может вы подскажете? я не знаю как еще его переделать. программировать на этом языке почти не умею. учусь
0
|
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
02.12.2013, 03:39 | 4 |
Ничё не понял. Декартово произведение двух множеств в математике - это множество пар. В лиспе множеств нет, списки перемножаем. При перемножении (a b) на (1 2 3) по вашей функции получается ((a 1) (a 2) (a 3) (b 1) (b 2) (b 3)) - лексикографически упорядоченный список-произведение. Непонятно, что вам не нравится.
0
|
1 / 1 / 0
Регистрация: 12.05.2011
Сообщений: 31
|
|
02.12.2013, 04:03 [ТС] | 5 |
а если я возьму списки (в с а) и (5 3 7), например. то мне нужно, чтобы выглядело как ((а 3) (а 5) (а 7) (а 5) (в 5) ... (с 7) ). это требует задание. функция этого не выполняет
0
|
Модератор
|
|||||||||||
02.12.2013, 10:17 | 6 | ||||||||||
Сообщение было отмечено как решение
Решение
Трудно не согласиться с Helter-ом: написано не лучшим образом... Вот три решения этой задачи:
- для этого нужно просто предварительно отсортировать второй сомножитель. Добавлено через 3 минуты
3
|
1 / 1 / 0
Регистрация: 12.05.2011
Сообщений: 31
|
|
02.12.2013, 20:19 [ТС] | 7 |
вы не поняли наверное, но функция должна быть одна. и макросы, рекурсию, функционалы использовать нельзя. вот через dolist, думаю, подойдет реализация
0
|
1 / 1 / 0
Регистрация: 12.05.2011
Сообщений: 31
|
|
02.12.2013, 20:46 [ТС] | 9 |
только я все равно не поняла как списки упорядочить. что я пробую, интерпретатор не воспринимает. пробую как раз через dolist
0
|
1 / 1 / 0
Регистрация: 12.05.2011
Сообщений: 31
|
|
02.12.2013, 20:56 [ТС] | 11 |
я знаю сортировку стандартную только (sort [список из цифр] '> или '<). но с буквами она не работает и не подставляется в функцию. сразу мне nil выдает и все
0
|
Модератор
|
||||||
02.12.2013, 21:18 | 12 | |||||
Вот как можно сортировать символы в любом нужном порядке:
1
|
02.12.2013, 21:42 | 13 | |||||||||||||||
Не хочу показаться занудным, но мне кажется есть смысл в такой форме записи для ФВП.
Кстати быстрая сортировка тогда выглядит так:
1
|
1 / 1 / 0
Регистрация: 12.05.2011
Сообщений: 31
|
|
02.12.2013, 21:42 [ТС] | 14 |
спасибо за помощь, попробую еще поразбираться, хотя все равно это не то
0
|
1 / 1 / 0
Регистрация: 12.05.2011
Сообщений: 31
|
|
02.12.2013, 21:47 [ТС] | 16 |
это задание из лабораторной работы, а в ней по плану мы еще не проходили рекурсию, функционалы и макросы. только через итерацию можно. через dolist, которую уже реализовали, подходит как нельзя лучше, но все равно не выполняет всего задания
Добавлено через 3 минуты потому что в задании нет решения из 2-3 функций. она должна быть одна и сразу выполнять все условия. надо либо это все как-то объединить, либо заново переписать. и можно списки, в которых содержится в 2 элемента, это конечно задачку упрощает
0
|
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
02.12.2013, 22:34 | 17 |
Кстати, лексикографическое упорядочивание - это для мономов. Вы и числа "лексикографически" упорядочиваете?
Сдаётся, вы превратно толкуете задание.
0
|
1 / 1 / 0
Регистрация: 12.05.2011
Сообщений: 31
|
|
02.12.2013, 23:22 [ТС] | 18 |
я делала с буквами. однако цифры тоже можно упорядочить
0
|
1 / 1 / 0
Регистрация: 12.05.2011
Сообщений: 31
|
|
03.12.2013, 12:23 [ТС] | 20 |
может быть тогда сами его еще раз перечитаете? и пользоваться рекурсией, макросами и функционалами ни в коем случае нельзя. вот вроде там все понятно описано. а я могу много чего сказать, если меня сразу не поймут
0
|
03.12.2013, 12:23 | |
03.12.2013, 12:23 | |
Помогаю со студенческими работами здесь
20
Декартово произведение множеств Декартово произведение множеств Декартово произведение множеств Декартово произведение двух множеств Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |