• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Задача по графам!

  • Автор темы gfz
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

gfz

Задача:
Задан граф в виде количества ребер n<=10 и списка ребер. Необходимо проверить, есть ли в графе вершина, смежная со всеми другими вершинами. Матрица задается при помощи матрицы смежности. Вот пример ввода матрицы смежности. Надо продолжить программу. Помогите пожалуйста.

#include <stdio.h>
#include <conio.h>
#define NMAX 5
#define RMAX 8
int g1 [NMAX][RMAX], /*матрица смежности*/
n, /*количество вершин*/
k; /*количество ребер*/

void matrsmezh (void)
{ int i, j;
printf ("Введите матрицу смежности:\n\n");
printf (" |");
for (j=0; j<n; j++) printf ("%d ", j);
putchar ('\n');
for (i=0; i<2*n+2; i++) putchar ('-');
for (i=0; i<n; i++)
{ printf ("\n%d|", i);
for (j=0; j<n; j++) scanf ("%d", &g1[j]);
}
putchar ('\n');
}

void main ()
{ /*Текст основной программы*/
 
M

mike.dld

Граф направленный или нет? Если направленный, считать соединением только рёбра, направленные от вершины, или к вершине тоже?
 
S

Ste1L

int poisk()
{
int i, j;
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
if (g1[j] == n) return i;
return -1;
}

Функция вернет номер мскомой вершины(если она есть), и -1 в противном случае.
(Если граф неориентированный, то надо переделать функцию ввода)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!