• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

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

  • Автор темы gfz
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G
#1
Задача:
Задан граф в виде количества ребер 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

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

Ste1L

#3
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 в противном случае.
(Если граф неориентированный, то надо переделать функцию ввода)
 
Статус
Закрыто для дальнейших ответов.