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

Минимальное остовное дерево методом Примы

22.01.2016, 14:32. Показов 3083. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно написать программу чтобы она работала с 3 вариантами задач .Вот не могу понять как лучше (проще) реализовать этот метод, т е как должна выглядеть форма программы, у меня есть 2 варианта:
1. Это поставить компонент image и на нем будет один из вариантов задач, на image будут располагаться edit(которые указывают чему равно расстояние узла) и в этом заключается проблема , я не знаю как графически вывести пользователю минимальное остовное дерево .
2. Это в программе сделать редактор для рисования графика (пользователь может рисовать сам любой график) или же просто нажимаем на кнопку вариант и выбираем нужный нам вариант и на экран выводится построенный график на котором так же есть edit которые выполняют такую же функцию.
Я не могу в кодом реализовать алгоритм Примы .
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.01.2016, 14:32
Ответы с готовыми решениями:

Найти минимальное остовное дерево
Дан полный взвешенный граф, кол-во вершин задается пользователем, вес ребер рандомный от 1 до 100. Найти минимальное остовное дерево при...

Минимальное остовное дерево PASCAL
Написал программу для нахождения минимального остовного дерева, но вместо вывода номеров тех городов, которые он посетил, выводит нули....

Минимальное остовное дерево алгоритмом Краскала
Пользуясь алгоритмом Краскала, найти минимальное остовное дерево для графа, заданного матрицей длин ребер. Задача решена!

5
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
22.01.2016, 14:46
Цитата Сообщение от DJAMEL Посмотреть сообщение
не знаю как графически вывести .. минимальное остовное дерево
Цитата Сообщение от DJAMEL Посмотреть сообщение
не могу ..реализовать алгоритм Примы
То есть по сути задачи ничего не знаешь и ничего не можешь, так получается ?
1
0 / 0 / 0
Регистрация: 12.03.2015
Сообщений: 21
10.02.2016, 12:04  [ТС]
Вот один из вариантов что я сделал:
Delphi
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
var
  Form4: TForm4;
  var C: array[1..6] of integer; C1:array of integer;
      M: array[1..6,1..6]  of integer;
 
implementation
 
uses Unit2;
 
{$R *.dfm}
 
 
 
 
 
procedure TForm4.Button1Click(Sender: TObject);
Procedure Risovanie;
begin
 
image1.Canvas.pen.color:=clred;
image1.Canvas.Pen.Width:=3;
//1--->2
image1.Canvas.Moveto(37,116);
image1.Canvas.lineto(121,41);
//1---3
image1.Canvas.Moveto(45,141);
image1.Canvas.lineto(206,140);
//2---4
image1.Canvas.Moveto(161,26);
image1.Canvas.lineto(334,27);
//3--->4
image1.Canvas.Moveto(243,120);
image1.Canvas.lineto(330,54);
//3--->5
image1.Canvas.Moveto(250,140);
image1.Canvas.lineto(434,139);
//4--->5
image1.Canvas.Moveto(367,56);
image1.Canvas.lineto(441,121);
 
end;
Var q,w,e,r,t,y,u,i:integer;
begin
 q:=strtoint(Edit1.text);
 w:=strtoint(Edit2.text);
 e:=strtoint(Edit3.text);
 r:=strtoint(Edit4.text);
 t:=strtoint(Edit5.text);
 y:=strtoint(Edit6.text);
 if ((Edit1.text='') or (Edit1.text='') or (Edit3.text='') or (Edit4.text='') or (Edit5.text='') or (Edit6.text=''))
 then  showmessage('Ââåäèòå â ñòðîêè çíà÷åíèÿ')
else
begin
Risovanie;
stringgrid1.cells[1,0]:=inttostr(q);
stringgrid1.cells[2,0]:=inttostr(w);
stringgrid1.cells[3,0]:=inttostr(e);
stringgrid1.cells[4,0]:=inttostr(r);
stringgrid1.cells[5,0]:=inttostr(t);
stringgrid1.cells[6,0]:=inttostr(y);
end;
end;
В процедуре где у меня рисуются линии на компоненте image нужно поставить для каждой линии условие при котором эта линия должна срабатывать, т е использовать множество(но с ними я не знаю как работать пытался с помощью массивов, но не получилось). StringGrid как вы видите нужен для записи веса ребер. Как реализовать алгоритм примы в коде я не понимаю.
Миниатюры
Минимальное остовное дерево методом Примы  
0
138 / 136 / 100
Регистрация: 10.03.2015
Сообщений: 553
11.02.2016, 20:34
Посмотри следующий delphi-проект. Должно помочь!!!
Миниатюры
Минимальное остовное дерево методом Примы  
Вложения
Тип файла: rar AlgoritmPrima(2).rar (229.3 Кб, 108 просмотров)
1
0 / 0 / 0
Регистрация: 02.11.2016
Сообщений: 3
08.11.2016, 16:01
Цитата Сообщение от ROS88 Посмотреть сообщение
Посмотри следующий delphi-проект. Должно помочь!!!
Здоров, я скачал твой алгоритм по графам и она работает, спасибо. Но хотел спросить, как сделать, что бы она графы сохраняла и что бы перебрал все варианты а не только одну. Или ты сможешь это сделать?
0
0 / 0 / 0
Регистрация: 12.03.2015
Сообщений: 21
17.01.2017, 05:28  [ТС]
Вот Программа доработанная с сохранением. Т Е перебрал все варианты?
Вложения
Тип файла: rar Курсовая.rar (1.30 Мб, 109 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.01.2017, 05:28
Помогаю со студенческими работами здесь

Найти минимальное остовное дерево с помощью алгоритмов Прима и Краскала.
Найти минимальное остовное дерево с помощью алгоритмов Прима и Краскала для графа,заданного матрицей весов

Остовное дерево
Задан неориентированный граф без петель и кратных ребер. Требуется построить какое-либо остовное дерево этого графа или сообщить, что его...

Построить остовное дерево минимальной стоимости
Построить остовное дерево минимальной стоимости Правила форума, пункт 4.3. Создавайте темы с осмысленными и понятными названиями - это...

Найти кратчайшее остовное дерево графа
Задача: Найти кратчайшее остовное дерево графа, в котором длины ребер равны соответствующим элементам матрицы А: 4 5 6 2 3 2 4 2 1 5...

Минимальный остов (каркас, остовное дерево)
Написал прогу вычисляющую длину минимального остовного дерева по алгоритму Прима, успешно сдал на школе программиста...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru