>
begin
StringSravn: = KString [num];
num: = num +1;
end;
If num-1 = LenStolb then
begin
lenStolb: = lenStolb +1;
Kstring [lenStolb]: = StolbecSravn;
end;
end; {кінець пpовеpки ваpиантов}
if lenstolb> 2 then
begin
klika.lenmass: = lenstolb;
for i1: = 1 to lenstolb do
klika.Klikmass [i1]: = Kstring [i1];
write (fileKlics, klika);
end;
end;
end; {кінець перебору можливих місць в стpоке}
end; {кінець пpохода по стpоку}
close (fileklics);
end;
Вище представлена ​​процедура знаходження клік в графі.
Опис змінних:
StolbecSravn: номер порівнюваного шпальти. p> StringSravn: номер поточного рядка.
Num, i1, i: лічильники.
lenStolb: розмір безлічі вершин кліки.
Stolbec: номер стовпчика першої одиниці в поточному циклі порівняння. p> size: розмір матриці смежностей.
Kstring: вектор зберігає координати рядків для порівняння. По виході з циклу порівняння цей масив являє собою безліч вершин знайденої кліки.
Smezh: Матриця смежностей;
Знайдені кліки зберігаються в файлі klics.ots. Потім з нього віддаляються всі кліки невідповідні вищенаведеним умовам. На виході отримуємо файл клік задаваемого графа. br/>
Приклад
В В В
Задаємо граф G1 його матрицею суміжності М1.
Беремо перший рядок, знаходимо першу одиничку за адресою (1,2).
Запам'ятовуємо адресу першої 1 (1,2). Шукаємо наступну 1 у першому рядку. Вона знаходиться за адресою (1,5). Перевіряємо адресу (2,5) на 1. Там її немає. Пропускаємо 5-й стовпець. Знаходимо наступну 1 в 6 стовпці. Перевіряємо адресу (2,6) на 1. Там її немає. так до кінця рядка. Переконуємося що в даному циклі порівнянь матриця смежностей одержуваної кліки має розмірність два. Що означає наявність у кліці двох вершин - найпростіше поєднання - воно не розглядається в моїй програмі. Ми записуємо в файл клік клік не менше третього порядку.
Вибираємо в першому рядку наступну 1. Вона знаходиться за адресою (1,5) запам'ятовуємо його адресу в масиві рядків. Шукаємо наступну 1 у першому рядку. Вона знаходиться за адресою (1,6). Спускаємося по 6 колонки, перевіряємо адресу (5,6) на 1. Вона там є. Кількість знайдених 1 в 6 стовпці = розміром масиву містить множини. Тоді збільшуємо довжину цього масиву на 1 і записуємо туди 6. Отримуємо в масиві [1,5,6]. І т.д.
У підсумку отримаємо кліки з номерами вершин: 1 5 6 серпня, 6 8 квітень, 1 7 серпня.
Матриця смежностей кліки 1568.
5 січня 6 серпня
10 січня 1 січня
51 0 1 1
61 1 0 1
81 1 1 0
Робота з програмою
В
Програма дозволяє знайти кліки в неорієнтованому графі розміром не більше 10 вершин. Граф вводиться в ЕОМ матрицею смежно...