Показать сообщение отдельно
  #3  
Старый 05.11.2008, 15:12
Grunch Grunch вне форума
Новичок
 
Регистрация: 08.04.2008
Адрес: Краснодар
Сообщения: 52
Репутация: 10
По умолчанию

Думаю, можно обойтись обычным графом. Тянуть сюда БД - лишнее.
Структура узла:
Код:
TNode: record
  Name: string;
  Parents: Array of ^TNode;
  Sons: Array of ^TNode;
end;
1. Заполняем массив (или список) жителей. Для каждого жителя ищем родителей. Потомки нам известны по условию задачи.
2. Собственно для решения все готово. Берем первого жителя и выбираем всех из списков Parents и Sons. После чего для каждого из них повторяем эту процедуру. Набирается список родственников 1-го жителя.
3. Повторяем пункт 2 для тех кто еще не попал в родственники.
4. и т.д.
Ответить с цитированием