Сравнение массивов

 

Иногда возникает необходимость проверить два или более массива на наличие совпадающих комбинаций, т.е. найти пересечение множеств. Данная операция реализована на закладке <Главная | Сравнение массивов>. В таблице представлен список массивов, которые могут быть сверены друг с другом на наличие (или отсутствие) общих комбинаций.


Пример сравниваемых массивов.

Для каждого массива указан его порядковый номер и количество комбинаций, которые в нем содержаться. В приведенном примере видно, что из 15 массивов комбинации имеются только в первых 4-х, при этом 2-й, 3-й и 4-й массивы помечены – эти массивы считаются выбранными для сравнения, т.е. операция сравнения будет применена только к этим массивам (внизу таблицы показано количество выбранных массивов и общее количество комбинаций в них). 1-й массив, хотя и содержит комбинации, но не выбран и не будет участвовать в сравнении. 5-й массив выделен темным прямоугольником – такой массив считается текущим – именно с ним будут выполняться определенные действия (см. ниже). Справа от таблицы находятся кнопки с помощью которых можно пометить (выбрать) или сбросить сразу все массивы, или инвертировать выделение.

 

С массивами можно выполнять определенные действия, подготавливая их к операциям сравнения.

[Принять из рабочего] – скопировать комбинации из рабочего массива и поместить их в текущий, т.е. в массив, который выделен темным прямоугольником.

[Передать в рабочий] – передать комбинации из текущего массива в рабочий.

Если установлен переключатель <Добавить к имеющимся>, то при копировании комбинаций они будут добавляться к уже имеющимся в текущем или рабочем массиве, в противном случае будет происходить замещение имеющихся комбинаций новыми. При включении параметра <Исключать дубликаты> гарантируется уникальность комбинаций в текущем массиве (т.е. отсутствие повторов).

[Загрузить с диска...] – поместить комбинации из файла в текущий массив.

[Сохранить на диск...] – записать в файл комбинации текущего массива.

Кнопки [Очистить текущий], [Очистить выбранные] и [Очистить все] – удаляют комбинации соответственно из текущего массива, из выбранных (помеченных) массивов и из всех массивов (независимо от наличия у них пометок) – это позволяет освободить операвную память от ненужных данных.

 

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

1. Поиск совпадающих комбинаций

Имеется возможность указать количество совпадений комбинаций, т.е. в скольких массивах должна присутствовать определенная комбинация, чтобы считать её "совпадающей". При этом сравниваться будут только выделенные массивы.

В приведенном примере комбинация должна быть в 2-х или 3-х массивах.
Условие мин=3 и мак=3 является самым жестким – т.е. комбинация обязана присутствовать во всех 3-х массивах. В этом случае количество совпавших комбинаций будет минимальным.
Условие мин=1 и мак=3 является самым мягким – достаточно, чтобы комбинация присутствовала хотя-бы в одном из массивов. Соответственно, количество совпавших комбинаций будет максимальным.

Все обнаруженные совпавшие комбинации будут автоматически помещены в рабочий массив.

 

2. Поиск несовпадающих комбинаций

Этот метод не имеет настраиваемых параметров и производит поиск несовпадающих (уникальных) комбинаций во всех выделенных массивах. Общее количество полученных комбинаций будет зависеть от того, насколько "похожи" массивы – если какая-то комбинация встречается хотя-бы два раза, то она исключается.

Все обнаруженные несовпавшие комбинации будут автоматически помещены в рабочий массив.

 

Назад
Оглавление
Далее
Hosted by uCoz