или
Заказать новую работу(фрагменты работы)
Учебное заведение: | Вузы города Екатеринбург > Уральский государственный технический университет - УПИ |
Тип работы: | Решение задач |
Категория: | Программирование |
Год сдачи: | 2016 |
Количество страниц: | 16 |
Оценка: | 5 |
Дата публикации: | 01.12.2019 |
Количество просмотров: | 620 |
Рейтинг работы: |
Задача:
Для заданной конечной сети без изолированных узлов требуется найти такой путь, при котором любая пара узлов данной сети может быть соединена частью этого пути напрямую или через другие узлы, а суммарная длина образующих его рёбер наименьшая по сравнению с такой же оценкой для других путей, обладающих этим свойством.
Написать программу, реализующую алгоритм на Delphi.
(фрагменты работы)
{стирание рёбер исходной сети}
for k:=0 to Length(Edges0)-1 do
if ((n+1)=Edges0[k].v1) or ((n+1)=Edges0[k].v2) then
begin
Pen.Color:=clBlack;
ind1 := Edges0[k].v1-1;
MoveTo(Net[ind1].x0+rad, Net[ind1].y0+rad);
ind2 := Edges0[k].v2-1;
LineTo(Net[ind2].x0+rad, Net[ind2].y0+rad);
Brush.Color:=clBlack;
Rectangle(Edges0[k].xc, Edges0[k].yc, Edges0[k].xc+10, Edges0[k].yc+12);
if ind1=n then DrawCircle(ind2)
elseDrawCircle(ind1);
end;
------
Пример 1
Количество узлов: 12
В результате работы программы получили:
Сначала предлагается открыть текстовый файл, в котором записана сеть. Файл должен содержать следующую информацию: размер сети, затем комбинации из двух номеров узлов и длины ребра между ними. В данном примере используется файл следующего содержания(числа записаны в столбик):
Похожие работы
Работы автора