Помощь - Поиск - Пользователи - Календарь
Полная версия: Минимальный разрез сети
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
juggernaut
Два дня уже парюсь и не могу написать. Курсовой завтра здавать, а у меня самое главное не работает. Помогите пожалуйста!
Все что осталось - это написать обработку массива (таблица длин коммуникаций между пунктами).
volvo
Цитата
Курсовой завтра здавать, а у меня самое главное не работает.

А чего ты сегодня обратился? Надо было уж завтра, минут за 20 до сдачи ...

Чего ты раньше-то думал?
virt
Приведи хоть как у тебя таблицы заданы. Что значит обработка : ввод ,вывод ,обнуление?
juggernaut
Поскольку алгоритм поидее просотой я надеялся, что напишу его сам. Но как обычно самое легкое в конце превращяется в самое трудное я не могу зделать его.

Пример:

__1__2_3__4
1____1____6
2_1____2__3
3____2____8*
4_6__3_8
_______*

1-4: Номера элементов
Есть два массива "C*" и "С". В С* находятся элементы уже просмотренные, а в С, которые еще нет.

Допустим первым элементом в С* будет 3 элемент таблицы, помечаем его "*" в таблице, указанной ниже. В С будут элементы 1,2,4. Просматриваем строки или столбцы под номером 3, находим минимальный элемент (=2). Двойка находится во 2-м столбце или во 2-й строке. Значит номер этой строки помещаем в С*.
С*=3,2
С=1,4

__1__2_3__4
1____1____6
2_1____2__3*
3____2____8*
4_6__3_8
_____*_*

На следующем шаге просматриваем уже два столбца и две строки - 2 и 3. Минимальный элемент в них равен 1. Он находится в перовй строке и первом столбце, помещаем номер столбца или строки в С*.
С*=3,2,1
С=4.

Шаг 3.
__1__2_3__4
1____1____6*
2_1____2__3*
3____2____8*
4_6__3_8
__*__*_*
На этом шаге прсоматривается 3 столбца и 3 строки - 1,2,3. В них минимальный элемент равен 6 в четвертом столбце(строке). Помещаем его в С*.
С*=3,2,1,4
С=0.

Все задача решена.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.