Помощь - Поиск - Пользователи - Календарь
Полная версия: Бинарные деревья
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Moony
Помогите пожалуйста найти ошибку в программе. Вроде бы что то в удаление дерева, но не пойму что именно


Это текст задачи
Некоторая фирма, совершая экспортные операции, сохраняет всю информацию в файле. Информация включает номер контракта, наименование товара, страну и фирму, импортирующую товар, сведения об общем объеме поставок, дату заключения контракта, дату исполнения контракта в полном объеме, количество товара, поставленного по контракту на данный момент.

Создайте бинарное дерево, упорядоченное по наименованиям товара в алфавитном порядке. В процессе формирования дерева должны подсчитываться общий объем поставок товара данного наименования по всем контрактам и общий объем данного товара, поставленный до настоящего момента по всем контрактам. Обеспечти полный просмотр информации, поиск товара данного наименования, вывод наименований тех товаров, поставки по которым выполнены не полностью.
volvo
Цитата(Moony @ 21.08.05 17:41)
Помогите пожалуйста найти ошибку в программе. Вроде бы что то в удаление дерева, но не пойму что именно

Прекрасно, но неплохо было бы знать, каковы симптомы ошибки (если они есть), а то получается - "ищи то - не знаю, что" ...

Кстати, если бы ты сначала посмотрел вот сюда:
FAQ: Динамические структуры - Бинарные деревья, то увидел бы, что обычно процедуры создания, обработки и удаления бинарных деревьев рекурсивны, то есть я бы делал процедуру Clean вот так:

Procedure Clean(Tek: PTree);
Begin
  If Tek = nil Then Exit;

  Clean(Tek^.Right); { удаление правого поддерева }
  Clean(Tek^.Left); { удаление левого поддерева }
  Dispose(Tek) { удаление корневого узла }
End;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.