Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 3
1

Вывести матрицу смежности и список смежности графа

09.02.2016, 21:53. Показов 5024. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!!
Уважаемые форумчане, помогите плиз с заданием!
Я написала код в Си по которому вводим матрицу инцидентности и выводим матрицу смежности и список смежности графа. Нужно добавить еще 2 опции:
1. возможность добавления новых вершин
2. возможность удаления заданной вершины.
Это главные пункты, как дополнительно, хотелось бы добавить еще возможность создания вершин без связей, если возможно.
Помогите дописать код в Си, пожалуйста!
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
void setcolor(unsigned short color)
{
HANDLE hcon = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hcon,color);
}
int Matrita_intydentnosti[30][30]={0}, Matrita_smejnosti[30][30]={0}, Spisok[30][30]={0};
int Kol_vershin, Kol_linii,option;
int i,j,m,n;
int main()
{
while(1)
{
setcolor(2);
printf("\n1.Ввод матрицы инцидентности.\n");
printf("2.Вывод матрицы инцидентности.\n");
printf("3.Вывод матрицы смежности\n");
printf("4.Вывод списка смежности\n");
printf("5.Покиньте программу\n");
printf("\nВыберите опцию: ");
scanf("%d",&option);
if(option==1)
{
setcolor(10);
printf("\nВведите количество вершин: ");
scanf("%d",&Kol_vershin);
printf("\nВведите количество ребер: ");
scanf("%d",&Kol_linii);
printf("\nМатрица инцидентности: \n");
for(i=0;i<Kol_linii;i++)
{
for(j=0;j<Kol_vershin;j++)
{
scanf("%d",&Matrita_intydentnosti[i][j]);
}
}
}
if(option==2)
{
setcolor(8);
printf("\nМатрица инцидентности: \n");
for(i=0;i<Kol_linii;i++)
{
printf("\n");
for(j=0;j<Kol_vershin;j++)
{
printf(" %d",Matrita_intydentnosti[i][j]);
}
}
getch();
}
if(option==3)
{
setcolor(6);
printf("\nМатрица смежности: \n");
for(i=0;i<Kol_linii;i++)
{
for(j=0;j<Kol_vershin;j++)
{
if(Matrita_intydentnosti[i][j]==-1)
{
m=j;
}
if(Matrita_intydentnosti[i][j]==1)
{
n=j;
}
if(Matrita_intydentnosti[i][j]==2)
{
m=j;
n=j;
}
}
Matrita_smejnosti[m][n]=1;
}
for(m=0;m<Kol_vershin;m++)
{
printf("\n");
for(n=0;n<Kol_vershin;n++)
{
printf("%d ",Matrita_smejnosti[m][n]);
}
}
getch();
}
if(option==4)
{
setcolor(12);
printf("\nСписок смежности: \n");
for(m=0;m<Kol_vershin;m++)
{
printf("%d: ",m+1);
for(n=0;n<Kol_vershin;n++)
{
if(Matrita_smejnosti[m][n]==1)
printf("%d",n+1);
}
printf("0\n");
}
getch();
}
if(option==5)
{
setcolor(7);
exit(0);
}
}
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.02.2016, 21:53
Ответы с готовыми решениями:

Перевод матрицы смежности графа в матрицу достижимости
Пытаюсь произвести алгоритмы изложенные в интернете,по замене матрицы смежности на достижимую,но ничего не выходит,подскажите как...

Из матрицы смежности в матрицу инцидентности для неориентированного графа
Из матрицы смежности получить матрицу инцидентности. У меня есть программа для орграфа, как ее сделать для неориентированного?Заранее...

Из матрицы смежности в матрицу инцидентности для неорентированного графа
Как из матрицы смежности получить матрицу инцидентности для неорентированного графа. 1 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1...

5
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12837 / 7573 / 1765
Регистрация: 25.07.2009
Сообщений: 13,970
10.02.2016, 04:07 2
Цитата Сообщение от Kmovie Посмотреть сообщение
Я написала код в Си по которому вводим матрицу инцидентности и выводим матрицу смежности и список смежности графа.
Можно и так сказать... Просто из любопытства: что выведет ваша программа, если сразу после запуска выбрать 3 или 4?

Не по теме:

За то без

Цитата Сообщение от Kmovie Посмотреть сообщение
void setcolor(unsigned short color)
никуда просто :)

1
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 3
10.02.2016, 23:06  [ТС] 3
ничего не выведит, вновь предложит выбрать опцию
а с добавлением или удалением вершин можете помочь, пожалуйста?
0
0 / 0 / 1
Регистрация: 01.02.2015
Сообщений: 20
25.05.2017, 20:47 4
Помогите! Чем отличается матрица смежности и инцидентности для графов? Не понимаю!
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
25.05.2017, 21:33 5
ddfddf, способом представления графа
https://ru.wikipedia.org/wiki/Матрица_смежности
https://ru.wikipedia.org/wiki/... идентности
0
0 / 0 / 0
Регистрация: 11.10.2020
Сообщений: 25
28.11.2020, 20:32 6
Kmovie, Рабочий вариант у вас не остался?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.11.2020, 20:32
Помогаю со студенческими работами здесь

Преобразование матрицы инцидентности в список смежности для неориентированного графа
Разработать алгоритм преобразования матрицы инцидентности в список смежности для неориентированного графа Я сделал, но не список...

Получить матрицу смежности и напечатать для каждой вершины номера смежных вершин графа
1,задан граф в виде количества вершин n&lt;=10 последовательности ребер . получить матрицу смежности.2, напечатать для каждой вершины номера...

Список пар в матрицу смежности
Нужно написать программу для преобразования списка пар в матрицу смежности для неориентированного графа. Может кто помочь? Вообще нет...

Конвертор и списка смежности в узлы графа
Добрый день. Есть вопрос по поводу матриц. Нужно перевести элементы первой матрицы во второй по алгоритму. Пример: Есть матрица ...

Построить граф ферзей и по нему матрицу смежности
Дано прямоугольное клеточное поле; как построить граф ферзей и по нему матрицу смежности?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Что нового в C# 14
UnmanagedCoder 10.03.2025
Предстоящая версия C# 14 обещает принести изменения, которые сделают разработку еще более приятной и эффективной. Что стоит отметить, так это влияние сообщества разработчиков на формирование новых. . .
Формулы поворота
Igor3D 10.03.2025
Добрый день Тема Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости". x' = x * cos(a) - y * sin(a) y' = y * cos(a) + x * sin(a) Как бы Вы их. . .
Что нового в .NET 10
UnmanagedCoder 10.03.2025
. NET 10 выходит как релиз с длительной поддержкой (LTS), включающей три года обновлений. В этом обновлении Microsoft сфокусировались на нескольких направлениях: производительность, оптимизация. . .
Отложенное высвобождение, RCU и Hazard Pointer в C++26
NullReferenced 09.03.2025
Многопоточное программирование стало важной частью современной разработки. Когда несколько потоков одновременно работают с общими данными, возникает целый ряд проблем, связанных с синхронизацией и. . .
Неблокирующийся стек на C++26
NullReferenced 09.03.2025
Традиционные способы синхронизации в многопоточном программировании — мьютексы, семафоры, условные переменные — часто превращаются в узкое место в плане производительности. При этом неблокирующиеся. . .
Обработка строк в C++26: Новые возможности string и string_view
NullReferenced 09.03.2025
Новый стандарт C++26 предлагает много улучшений для работы с привычными string и относительно новыми string_view. string_view - это невладеющая ссылка на последовательность символов, появившаяся в. . .
Мой первый аддон для Blender 3D, с помощью нейронки (не зная даже азов пайтона, но это не значит что так и с остальным).
Hrethgir 09.03.2025
Потратил весь день. Пол-дня мне хватило, чтобы понять что с версией с 14B мне не одолеть написание функционального кода, на языке с которым я вообще никак не знаком - пайтон. Версия 22B от другого. . .
Einstein@Home сегодня исполняется двадцать лет!
Programma_Boinc 09.03.2025
Einstein@Home сегодня исполняется двадцать лет! Отправлено 19 февраля 2025 года в 17:20:21 UTC Я хочу поздравить всех наших волонтеров, разработчиков и ученых из Einstein@Home. Мы официально. . .
Заполнители и расширенный набор символов в C++26
NullReferenced 09.03.2025
C++26 представляет два важных обновления: заполнители и расширенный набор символов. Заполнители (placeholders) решают давнюю проблему лаконичности кода в шаблонных выражениях и лямбда-функциях. Они. . .
Контракты в C++26
NullReferenced 09.03.2025
Контракты – это механизм, позволяющий указывать предусловия, постусловия и инварианты для функций в коде. Эта функциональность должна была стать частью C++20, но была исключена на встрече комитета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru