IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Задча на граф
r-d-v2008
сообщение 25.08.2010 16:02
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


Люди помогите пожалуйста решить задачу: Проверьте, содержит ли граф, заданный с помощью списков инцидентности, вершину, в которую входят дуги от всех остальных вершин графа, но из которой не исходит ни одна дуга.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 26.08.2010 10:57
Сообщение #2


Гость






Вообще-то задачу дали тебе, а не мне, правда?

Вот так реализуется алгоритм:
function f(const mx: TIncidence): boolean;
var
count: integer;
i, Vx: Vertexes;
found: boolean;
p: PList;
begin
f := false;

count := 0;
for i := 1 to LastVertex do
if mx[i] = nil then
begin
Inc(count); Vx := i;
end;

if count > 1 then exit { <-- result = false }
else begin

for i := 1 to LastVertex do
if i <> Vx then
begin
p := mx[i];
found := false;
while (p <> nil) and (not found) do
begin
if p^.Vertex = Vx then found := true;
p := p^.next;
end;

if not found then exit; { <-- result = false }
end;

end;

f := true;
end;


Но чтобы проверить его работоспособность, тебе придется самому описать тип TIncidence и все остальные, а также написать основную программу так, чтобы эта программа хотя бы откомпилировалась. Кроме этого, матрицу инцидентности еще придется заполнить, чтобы проверить, правильно ли функция отрабатывает (на нескольких вариантах, разумеется, когда она должна возвращать "истину", и когда - "ложь"). Но все это - уже самостоятельно. Я ни за кого задачи не решаю полностью. Халявы не будет...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 27.07.2025 4:20
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"