Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2010, 11:14   #1
Slippik
 
Регистрация: 22.03.2009
Сообщений: 3
Радость Деревья pascal

Ребята, помогите пожалуйста доделать задачку: Создать отсортированное бинарное дерево. Разработать рекурсивную процедуру подсчёта положительных и отрицательных элементов в узлах правого и левого поддерева соответственно.

Отсортированное бинарное дерево: дерево в котором каждый узел (вершина) обладает следующим свойством: все числа в узлах левого поддерева должны быть меньше, чем в корне, а в узлах правого – больше или равны.

Я создал отсортированное бинарное дерево:

uses crt,graph;
const n=15;
r=15;
type u=^uzl;
uzl=record
i,j:integer;
L,R:u;
end;
var i,gm,gr,x:integer;
{s:string;}
h:u;
procedure sozd(h:u; a:integer);
var t,p:u;
begin t:=h;
while t<>nil do
begin p:=t;
if a<t^.i then t:=t^.L
else t:=t^.R;
end;
new(t);
t^.i:=a;
t^.L:=nil;
t^.R:=nil;
if a<p^.i then p^.L:=t
else p^.R:=t;
end;
procedure obxod(h:u);
var
s:string;
begin if h<>nil then
begin obxod(h^.L);
{write(h^.i); }
Str(h^.i,s);
outtextXY(x,480,s);
obxod(h^.R);
end;
end;
procedure ShowTree(h:u; x,y,w,f:integer);
var s:string;
begin if h<>nil then
begin ShowTree(h^.L,x-w div 4, y+4*r, w div 2, 1);
if f<>0 then
line(x,y,x+f*(w div 2), y-4*r);
circle(x,y,r);
Str(h^.i,s);
outtextXY(x,y,s);
showTree(h^.R,x+w div 4, y+4*r, w div 2,-1);
end;
end;
begin
clrscr; randomize;
InitGraph(gm,gr,'');
SetTextJustify(CenterText,CenterTex t);
new(h);
with h^ do begin
i:=random(10);
L:=nil; R:=nil;
end;
for i:=1 to n-1 do sozd(h,random(10));

ShowTree(h,320,20,640,0);
obxod(h);
readkey;
{end;}
End.

Помогите пожалуйста сделать, что бы дерево выдавало и отрицательные значения и разработать рекурсивную процедуру заданную задачей!
Небольшое вознаграждение гарантирую

Так же, к теме вложен файл с программой
Вложения
Тип файла: zip TREE.zip (1.5 Кб, 6 просмотров)
Slippik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal и бинарные деревья xakkkkker Помощь студентам 0 28.10.2010 11:13
деревья pascal varlonec Помощь студентам 0 18.10.2010 20:52
VB. Деревья. TimonCer Помощь студентам 4 25.06.2010 23:30
Деревья Blond_89 Паскаль, Turbo Pascal, PascalABC.NET 1 08.06.2010 14:39
деревья в С++ osichev Помощь студентам 0 10.12.2009 19:48