С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 03.06.2016
Сообщений: 68

Вывод матрицы смежности

26.05.2017, 12:49. Показов 1532. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите с выводом матрицы смежности.

Мой код :
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
begin
for a := Low(vershini) to High(vershini) do // перебор вершин
begin
for b := Low(rebri) to High(rebri) do // перебор ребер
begin
 
if (((vershini[a].X-rebri[b].X)*(vershini[a].X-rebri[b].X)) + ((vershini[a].Y-rebri[b].Y)*(vershini[a].Y-rebri[b].Y))) < 100 then begin
// проверка начальной точки ребра (x y)
end;
if (((vershini[a].X-rebri[b].XX)*(vershini[a].X-rebri[b].XX)) + ((vershini[a].Y-rebri[b].YY)*(vershini[a].Y-rebri[b].YY))) < 100 then begin
// проверка конечной точки ребра (x y)
end;
 
end; // for rebri
end; // for vershini
Примерный вывод во вложении.
Но мне из моих полученных данных нужно построить матрицу смежности , но до меня не доходит как.
Миниатюры
Вывод матрицы смежности  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.05.2017, 12:49
Ответы с готовыми решениями:

Вывод матрицы смежности с файла в stringGrid и построение графа
В файле находится матрица смежности, ее нужно ввести и вывести на экран в stringGrid Например 7 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0...

Построение матрицы смежности
Доброго всем времени суток! Была когда-то на форуме такая тема Построение матрицы смежности И вот такое же задание мне досталось. Идею...

Объединить матрицы смежности
помогите, в стринггрид (2 шт.) задаются матрицы, в третью вывести результатную матрицу, но только тех столбцов, которые не повторяются....

6
0 / 0 / 0
Регистрация: 03.06.2016
Сообщений: 68
29.05.2017, 12:36  [ТС]
У меня имеются координаты вершин и ребер.
Нужно определить: соединены ли данные вершины, чтоб потом вывести матрицу.
0
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,656
Записей в блоге: 21
29.05.2017, 12:55
а координаты это целые числа?
а бывает вообще так чтобы вершины и ребра были связаны не по ID а по координатам?
0
0 / 0 / 0
Регистрация: 03.06.2016
Сообщений: 68
29.05.2017, 13:02  [ТС]
Цитата Сообщение от krapotkin Посмотреть сообщение
а координаты это целые числа?
а бывает вообще так чтобы вершины и ребра были связаны не по ID а по координатам?
Да , целые.
А как я должен их связать по ID ?
0
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,656
Записей в блоге: 21
29.05.2017, 16:00
ну вообще есть список вершин и список ребер, содержащих либо ID вершин, либо прямо ссылки на объекты-вершины

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TNode=class
  ID:integer;
  P:TPoint;
end;
TNodes=class(TObjectList)
  property Items[index:integer]:TNode read GetItems write SetItems;
end;
 
TLink=class
  ID1,ID2:integer;
  // или прямо node1, node2:TNode; -- ссылки на объекты - вершины
end;
TLinks=class(TObjectList)
  property Items[index:integer]:TLink read GetItems write SetItems;
end;
не должна дублироваться в ребрах информация о координатах, которая и так есть в вершинах
0
0 / 0 / 0
Регистрация: 03.06.2016
Сообщений: 68
29.05.2017, 17:13  [ТС]
У меня есть две структуры , одна для вершин другая для ребер где я храню их координаты.
И мне как-то нужно определить что ребро(canvas) соединяет эти две вершины.
Как бы я сделал : возможно мне нужно определить что координаты начала отрезка находятся в первой вершине и координаты конца находятся во второй вершине.
В цикле перебрать координаты начала и конца отрезков и если они находятся в радиусе вершин то вписать в мемо матрицу смежности. Или это не правильно ?

Цитата Сообщение от krapotkin Посмотреть сообщение
TLink=class
* ID1,ID2:integer;
* // или прямо node1, node2:TNode; -- ссылки на объекты - вершины
end;
Можно ли это сделать с помощью структуры а не через классы ?
0
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,656
Записей в блоге: 21
29.05.2017, 21:09
а классы это не структуры?
а как вы создаете "структуры"?
динамический массив?
крайне неудобно

Добавлено через 42 секунды
правильный подход я уже описал
вы можете пользоваться любым, какой придумаете
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.05.2017, 21:09
Помогаю со студенческими работами здесь

Алгоритм перевода матрицы смежности в достижимости
Написала программу перевода из матрицы смежности в достижимости, принцип такой - матрица смежности сначала возводится в степени, потом...

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

Списки смежности из матрицы
Здравствуйте,помогите пожалуйста написать программу,спасибо.Напишите программу, которая строит списки смежности для каждой вершины графа на...

Построение матрицы смежности
Задаем поле с единицами и нулями (где 1-пустая клетка, 0-препятствие) #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

Генерация матрицы смежности
написал код: #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main(int argc, char *argv) ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru