![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 10.01.2010
Сообщений: 4
|
![]()
Привет уважаемые делфи эксперты!
Пытаюсь найти ошибку в коде, но не могу. Задача на поиск максимального потока транспортной сети. Кто не в курсе, кратко объясню алгоритм на пальцах: 1) строим ориентированные графы, на ребрах заполняем "с" - максимальную пропускную способность. изначально f=0 у каждых ребер графа. 2) далее выписываем все возможные пути от х до z. Пример ![]() 3) берем первый путь, увеличиваем значение переменной "f" на минимальное число "С" по данному пути (которое тоже должно на ребрах подписываться) 4) если с=f, берем это ребро и отмечаем галочками в списке путей из пункта 2, ребра которых совпали с текущим 5) далее берем путь не отмеченный галочкой. Если мы уже проходили по одному ребру (тоесть f заполнена), то "с" этого ребра будет c:=c-f; 6) затем повторяем действия с шага 3. И так пока весь список путей не отметиться галочками. 7) далее смотрим пути которые не дошли от x до z и прибавляем +1 к "f", повторяя с шага 3, пока не дойдем до z. (ЭТОТ ШАГ ЕЩЕ НЕ ДЕЛАЛ В ИСХОДНИКЕ) Вот как это выглядит: ![]() В моей проге нужно сначала насоздавать достаточное кол-во вершин двойным кликом по пустому месту на форме. Затем кликаем на одну вершину, затем на другую - они соединяются стрелкой и сразу фокус переводится на поле для заполнения "С" данной вершины. И так соединяем все вершины. Затем жмем кнопку "Посчитать", затем "Минимальное С" ПРОБЛЕМА: не заполняется список путей полностью галочками, не все значения "с" и "f" считаются правильно. Доходят до определенного места, и значения идут в минуса. Из дополнительных компонентов юзал TMS, Alphaskins, вроде все. Если кто делал такую прогу выложите плиз. PS гуглил, по форуму искал. Все найденные варианты НЕ в графическом виде реализованы (нужно наглядные графы (вершины, ребра)), как у меня. Да и к тому же они были очень сложные, не смог понять код. Премного благодарен. Последний раз редактировалось d3mon4eg; 11.01.2010 в 12:21. |
![]() |
![]() |
![]() |
#2 |
Регистрация: 10.01.2010
Сообщений: 4
|
![]()
Вот сам код:
Код:
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 10.01.2010
Сообщений: 4
|
![]() Код:
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 10.01.2010
Сообщений: 4
|
![]() Код:
|
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 13.06.2015
Сообщений: 1
|
![]()
Друг, не мог бы ты кинуть свою программу, если конечно она не затерялась спустя столько лет, помоги бедному глупому студенту))
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нахождение запущенного сервака в сети. | =) mazutka =) | Помощь студентам | 7 | 17.05.2013 08:30 |
нахождение максимального элемента в дереве. Haskell | densan | Помощь студентам | 4 | 01.06.2009 13:23 |
TASM - нахождения максимального числа из трех положительных целых чисел и умножения максимального числа | iggor | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 24.05.2009 20:16 |
Реализация алгоритма нахождения максимального потока в сети | Myasnik | Помощь студентам | 3 | 06.01.2008 06:42 |