Program E_in_tree;
uses crt;
TYPE BT=Real;
U = ^BinTree;
BinTree = Record
Inf : BT;
L,R : U;
END;
PROCEDURE Ins(Var T : U; X : BT);
Var vsp, A : U;
Begin
New(A); A^.Inf := X; A^.L:=Nil; A^.R := Nil;
If T=Nil Then T:=A
Else Begin vsp := T;
While vsp <> Nil Do
If A^.Inf < vsp^.Inf
Then
If vsp^.L=Nil Then Begin vsp^.L:=A; vsp:=A^.L End Else vsp:=vsp^.L
Else
If vsp^.R = Nil Then Begin vsp^.R := A; vsp:=A^.R End Else vsp := vsp^.R;
End;
END;
PROCEDURE PrintTree(T:U);
Begin
if T<>nil then
begin
PrintTree(T^.L);
Writeln(' ', T^.inf:5:3);
PrintTree(T^.R);
end;
END;
PROCEDURE Vh_E(T:U; E:BT; var i:integer);
Begin
if T<>nil then
begin
Vh_E(T^.L,E,i);
if T^.inf=E then inc(i);
Vh_E(T^.R,E,i);
end;
END;
PROCEDURE InsDer(var T:U);
var i,n:integer;
x:BT;
Begin
Write('Количество элементов в дереве : ');
readln(n);
for i:=1 to n do
begin
write('Элемент : '); readln(x);
{x:=-10+Random(21); write(x:5:3,' '); }
Ins(T,x);
end;
END;
var Der:U;
E:BT;
i:integer;
BEGIN
clrscr;
InsDer(Der);
writeln;
PrintTree(Der);
write('E = '); readln(E);
i:=0;
Vh_E(Der,E,i); writeln;
writeln('Количество элемента Е в дереве : ',i);
readln;
END.
Похожие записи/страницы:
- Написать функцию, которая находит наименьший элемент дерева - Delphi(Делфи)
- Составить программу, вычисляющую выражение интеграл - Pascal(Паскаль)
- Сформировать дерево Т и присвоить параметру Е элемент из самого левого листа (лист - вершина,из которой не…
- Разработайте программу работы с бинарным деревом. Программа должна содержать следующие процедуры, вызываемые из…
- Составить модуль в котором реализуются простые операции с комплексными числами и реализовать в основной…
- Сформировать массив чисел, больше среднего - Pascal(Паскаль)
- Дана строка символов. определить число вхождений в строку группы букв: а) abc; б) aba - Pascal(Паскаль)
- Составить список студентов, включающий ФИО, факультет, курс, группу, результат забега. Определить трех лучших в…