Задча на граф |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задча на граф |
r-d-v2008 |
Сообщение
#1
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: 0 |
Люди помогите пожалуйста решить задачу: Проверьте, содержит ли граф, заданный с помощью списков инцидентности, вершину, в которую входят дуги от всех остальных вершин графа, но из которой не исходит ни одна дуга.
|
volvo |
Сообщение
#2
|
Гость |
Что такое список инцидентности - знаешь? Реализация этого списка есть у тебя? Где, собственно, граф, который надо проверить?
Если знаешь, что такое списки инцидентности - то задачу решишь без труда. Достаточно просто пройти по массиву указателей, и проверить, есть ли там указатели, равные Nil... Если таких нет - то из каждой вершины что-то да выходит, ответ на твой вопрос - "Нет". Если nil есть (причем ровно 1 - больше тоже быть не должно, подумай, почему) - то ходить по всем указателям, не равным Nil, как по спискам, и проверять, есть ли в каждом из списков вершина с индексом, равным индексу того самого злополучного Nil-а. Если везде, во всех просмотренных списках есть такая вершина - значит, ответ "Да", иначе - опять "Нет". На этот раз ответ окончательный, больше ничего проверять не надо... Все просто, как видишь. Осталось всего лишь этот алгоритм запрограммировать... |
-r-d-v2008- |
Сообщение
#3
|
Гость |
За алгоритм спасибо, а как это организовать на паскале?
|
volvo |
Сообщение
#4
|
Гость |
Вообще-то задачу дали тебе, а не мне, правда?
Вот так реализуется алгоритм: function f(const mx: TIncidence): boolean; Но чтобы проверить его работоспособность, тебе придется самому описать тип TIncidence и все остальные, а также написать основную программу так, чтобы эта программа хотя бы откомпилировалась. Кроме этого, матрицу инцидентности еще придется заполнить, чтобы проверить, правильно ли функция отрабатывает (на нескольких вариантах, разумеется, когда она должна возвращать "истину", и когда - "ложь"). Но все это - уже самостоятельно. Я ни за кого задачи не решаю полностью. Халявы не будет... |
r-d-v2008 |
Сообщение
#5
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: 0 |
Спасибо за реализацию алгоритма на паскале, премного благодарен!!!!!! Все остальное я сделаю сам.
|
Текстовая версия | 11.01.2025 5:51 |