Помощь - Поиск - Пользователи - Календарь
Полная версия: изменение э-тов по ключу в дереве
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Artex
Всем привет, очень прошу помочь с деревом, я читал FAQ, но не смог разобраться sad.gif(( Задача такая: изменить
отрицательные элементы в дереве на их abs величины, похожей нигде пока не нашел... Из всего курса паскаля не врубился только в эту. Помогите пожалуйста дописать процедуру ввода элементов и использование этих процедур в программе, очень прошу...
Procedure Abs(T: TTree);
Begin
If T <> nil Then
With T^ Do Begin
if data<0 Then Data := abs(data);
AbsLeft(T); AbsRight(T)
End
End;
procedure PrintTree(t:Ttree;h:integer);
var i:integer;
begin
if t<>nil then
with t^ do
begin
PrintTree(left,h+1);
for i:=1 to h do write(' ');
writeln(key);
PrintTree(right,h+1);
end;
end;


var
root: TTree;
...


begin
... { заполнение дерева }


Abs(root);

... { выводим результат }
end.
volvo
Procedure Abs(T: TTree);
Begin
If T <> nil Then
With T^ Do Begin
Data := system.abs(Data);
Abs(Left); Abs(Right)
End;
End;
Процедуры создания дерева есть в FAQ... Я не вижу смысла перепечатывать их оттуда сюда, ничего нового ты все равно не увидишь, и если не разобрался ТАМ, то как разберешься ЗДЕСЬ?
Гость
Type  TType = Integer;
TTree = ^TNode; TNode = Record
Data: TType;
Left, Right: TTree;
End;
Procedure Add(Var T: TTree; i: TType);

Procedure CreateNode(Var p: TTree; n: TType);
Begin
New(p);
p^.Data := n;
p^.Left := nil;
p^.Right := nil
End;

Begin
If T <> nil Then
With T^ Do Begin

If Data < i Then Add(Right, i)
Else
If Data > i Then Add(Left, i)

End
Else
CreateNode(T, i)
End;
Procedure Abs(T: TTree);
Begin
If T <> nil Then
With T^ Do Begin
Data := system.abs(Data);
Abs(Left); Abs(Right)
End;
End;
Procedure PrintDown(T: TTree);
Begin
If T = nil Then halt;
With T^ Do Begin

Write(Data, ' ');
PrintDown(Left); PrintDown(Right)

End
end;


Var


Begin



End.

мне нужна только описательная часть и использование процедур...
это последняя задача для допуска к экзамену, и именно тему деревья я пока не понял, остальные задачи делал сам и вовремя.
М
Про теги не забываем...
мисс_граффити

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