Графы: Проверка смежности вершин - Pascal
Формулировка задачи:
Ребят помогите пожалуйста,просто выручите очень сильно ,вариант в самом низу описан. Нужно сделать на паскале абц нэт.
Реализуйте в виде функций (и/или процедур) следующие операции:
1.проверка смежности вершин v и w;
2.перечисление всех вершин смежных с v;
3.определение веса ребра (v, w);
4.определение веса вершины v;
5.перечисление всех ребер (v, w);
6.перечисление ребер, инцидентных вершине v;
7.перечисление вершин, инцидентных ребру s.
Варианты задания 1) Матрица смежности.
Решение задачи: «Графы: Проверка смежности вершин»
textual
Листинг программы
const N = 6; //Число вершин a: array[1..6, 1..6] of integer = //Матрица смежности ((0, 1, 0, 0, 1, 0), (1, 0, 1, 0, 1, 0), (0, 1, 0, 1, 0, 0), (0, 0, 1, 0, 1, 1), (1, 1, 0, 1, 0, 0), (0, 0, 0, 1, 0, 0)); function proverka_smezhnosti(v, w: integer): boolean := a[v, w] > 0; procedure perechislenie_smezhnih_vershin(v: integer); begin write('Вершины, смежные с ', v, '-той вершиной: '); for var w := 1 to N do if proverka_smezhnosti(v, w) then print(w); writeln; end; function ves_rebra(v, w: integer): integer := a[v, w]; function stepen_vershini(v: integer): integer; begin Result := 0; for var w := 1 to N do if proverka_smezhnosti(v, w) then Result += 1; end; procedure perechislenie_vseh_reber; begin write('Ребра графа: '); for var v := 1 to N do for var w := v + 1 to N do if proverka_smezhnosti(v, w) then print('(', v, '; ', w, ')'); end; procedure perechislenie_incidentnih_reber(v: integer); begin write('Ребра, инцидентные с ', v, '-той вершиной: '); for var w := v + 1 to N do if proverka_smezhnosti(v, w) then print('(', v, '; ', w, ')'); end; procedure perechislenie_incidentnih_vershin(v, w: integer) := writeln('Вершины, инцидентные ребру (', v, '; ', w, '): ', v, ' ', w);
Объяснение кода листинга программы
- Определение константы
N
равной6
, представляющей количество вершин в графе. - Создание массива
a
размером 6x6 для представления матрицы смежности графа. - Создание функции
proverka_smezhnosti(v, w: integer): boolean
, которая проверяет смежность вершинv
иw
в графе с помощью матрицы смежности. - Создание процедуры
perechislenie_smezhnih_vershin(v: integer)
, которая выводит вершины, смежные с заданнойv
вершиной. - Создание функции
ves_rebra(v, w: integer): integer
, которая возвращает вес ребра между вершинамиv
иw
в графе. - Создание функции
stepen_vershini(v: integer): integer
, которая определяет степень вершиныv
в графе. - Создание процедуры
perechislenie_vseh_reber
, которая выводит все рёбра графа. - Создание процедуры
perechislenie_incidentnih_reber(v: integer)
, которая выводит все рёбра, инцидентные с вершинойv
. - Создание процедуры
perechislenie_incidentnih_vershin(v, w: integer)
, которая выводит вершины, инцидентные с ребром между вершинамиv
иw
. Код представляет набор функций и процедур для работы с графом, таких как проверка смежности вершин, поиск смежных вершин, определение веса ребра, поиск степени вершины, перечисление всех рёбер, перечисление инцидентных рёбер, а также перечисление инцидентных вершин.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д