Декартово (прямое) произведение

02.03.18

Разработка - Математика и алгоритмы

Прямое или декартово произведение двух множеств — это множество, элементами которого являются всевозможные упорядоченные пары элементов исходных множеств.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Декартово произведение
.epf 10,80Kb ver:1.1
10
10 Скачать (1 SM) Купить за 1 850 руб.

В данной обработке представлен пример для 3-х списков с 9,6 и 2 значениями соответственно. Сам же алгоритм настроен для работы с n-ным количеством массивов различной размерности.  На выходе обработки мы получаем таблицу из 3 (количество массивов) колонок и 108 (9*6*2) строк. 

Пример использования в 1С:
Алгоритм может пригодиться, к примеру, когда открываются аналитические счета в Бухгалтерии НФО. Для 3-х аналитик с 6-10 соответствиями значений необходимо вручную задавать 216-1000 различных соответствий и значений. Это очень трудоемко и практически невыполнимо для ручного ввода. 

В массивах могут содержаться любые типы значений, поэтому обработка подойдет для различных задач. Можно взять алгоритм как есть, заменив использующиеся на входе массивы значений на свои. На выходе будет таблица значений (как в примере) с таким количеством колонок, сколько массивов будет передаваться на вход:

куда передаем свои значения

 

Перебор сочетаний значений полный перебор прямой перебор уникальные сочетания значений списков уникальные сочетания значений массивов все возможные сочетания элементов массивов сочетания элементов массивов

См. также

Математика и алгоритмы Программист Платформа 1C v8.2 Конфигурации 1cv8 Россия Абонемент ($m)

На написание данной работы меня вдохновила работа @glassman «Переход на ClickHouse для анализа метрик». Автор анализирует большой объем данных, много миллионов строк, и убедительно доказывает, что ClickHouse справляется лучше PostgreSQL. Я же покажу как можно сократить объем данных в 49.9 раз при этом: 1. Сохранить значения локальных экстремумов 2. Отклонения от реальных значений имеют наперед заданную допустимую погрешность.

1 стартмани

30.01.2024    3228    stopa85    12    

38

Математика и алгоритмы Бесплатно (free)

Разработка алгоритма, построенного на модели симплекс-метода, для нахождения оптимального раскроя.

19.10.2023    7640    user1959478    52    

36

Математика и алгоритмы Разное Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Расширение (+ обработка) представляют собою математический тренажер. Ваш ребенок сможет проверить свои знание на математические вычисление до 100.

2 стартмани

29.09.2023    3163    maksa2005    8    

26

Математика и алгоритмы Инструментарий разработчика Программист Платформа 1С v8.3 Мобильная платформа Россия Абонемент ($m)

Что ж... лучше поздно, чем никогда. Подсистема 1С для работы с регулярными выражениями: разбор выражения, проверка на соответствие шаблону, поиск вхождений в тексте.

1 стартмани

09.06.2023    10939    7    SpaceOfMyHead    18    

61

Математика и алгоритмы Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Три задачи - три идеи - три решения. Мало кода, много смысла. Мини-статья.

03.04.2023    4420    RustIG    9    

25

Механизмы платформы 1С Математика и алгоритмы Программист Платформа 1С v8.3 Россия Бесплатно (free)

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

23.11.2022    3586    gzharkoj    14    

25

Математика и алгоритмы Программист Платформа 1С v8.3 Россия Абонемент ($m)

Обычно под распределением понимают определение сумм пропорционально коэффициентам. Предлагаю включить сюда также распределение по порядку (FIFO, LIFO) и повысить уровень размерности до 2-х. 1-ое означает, что распределение может быть не только пропорциональным, но и по порядку, а 2-ое - это вариант реализации матричного распределения: по строкам и столбцам. Возможно вас заинтересует также необычное решение этой задачи через создание DSL на базе реализации текучего интерфейса

1 стартмани

21.03.2022    9052    7    kalyaka    11    

44
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. DrAku1a 1745 19.05.16 02:23 Сейчас в теме
Декартово произведение. Википедия: Прямое произведение множеств
В запросе делается легко.
В коде - процедура / функция "Для каждого" (для пары массивов). Для любого количества множеств - делаем последовательное произведение каждого элемента множества, полученного на предыдущем шаге на очередной массив.
2. yojeeg 154 19.05.16 11:07 Сейчас в теме
(1) DrAku1a, спасибо большое за наводку! Переделал рекурсию на запрос.
Оставьте свое сообщение