від одного буде те, що перший елемент кожного такого безлічі буде відмінний від першого елемента такого ж безлічі, що знаходиться в масиві A.
Наприклад, якщо в масиві A є наступне безліч вершин, состовляют повний підграф: {2,4,5,7}, що означає, що в 2 рядку масиву А міститься це безліч вершин, що складається з 4 елементів, масив В містить 4 однакових елемента - 4 за адресами 2,4,5,7. Однак це означає, що в 4, 5 і 7 рядках масиву А буде міститися те ж саме безліч вершин. p align="justify"> Під час формування списку С цей факт враховується.
Список формується таким чином: у масиві У шукається максимальний елемент bmax. Це ціле число, що показує розмір найбільшого повного подграфа графа G. Потім проглядається масив В. І якщо відповідний елемент B [i] за адресою i дорівнює bmax, то створюється новий елемент у списку, в нього заноситься найбільший повний підграф з масиву А за адресою i. Проводиться подальший перегляд масиву В і шукаються інші підграфи, містять bmax вершин. Якщо такі знаходяться (а вони обов'язково знаходяться) то на цьому етапі виконується перевірка, чи не додано чи вже це безліч вершин A [i] до списку НПП. Перевірка здійснюється наступним чином: список З проглядається спочатку, і кожне безліч вершин, що міститься в елементі цього списку порівнюється з безліччю A [i]. Якщо виявляється, що така безліч A [i] вже міститься в списку С, то воно пропускається, відбувається подальший розгляд масиву В. В іншому випадку, якщо така безліч не було знайдено в списку, то створюється ще один осередок списку С і в неї записується безліч A [i].
Таким чином, після того, як закінчиться розгляд масиву В, тобто будуть розглянуті всі можливі НПП та унікальні будуть додані в список С, отриманий список С буде містити в собі всі можливі НВП для даного графа G.
.2 Опис логічної структури програми
Програма розбита на окремі функціональні частини - підпрограми, які розподіляються за окремими рівнями ієрархії. Кожна з підпрограм вирішує тільки свою невелику завдання по перетворенню даних, що дозволяє спростити процес написання і налагодження програми в цілому. Далі наводиться опису призначення всіх функцій. p align="justify"> Функція WinMain є головною функцією програми, з якої здійснюється виклик інших функцій.
Функція ABOUTDLG є функцій спливаючого вікна "Про програму" _gr - функція шукає найбільш повний підграф від поточної (переданої) вершини і повертає масив подграфов_podgraf - функція створення кінцевого списку найбільших повних подграфов (з найбільшим кол-вом вершин).
Функція cr_matr - функція створення і виведення матриць суміжності і інцидентності.
Функція paint_podgraf - малює подграф в області, виділеної для графа. Передається номер графа, який треба намалювати і список найбільших повних подграфов._mouse - процедура малювання...