![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 22.03.2009
Сообщений: 3
|
![]()
Ребята, помогите пожалуйста доделать задачку: Создать отсортированное бинарное дерево. Разработать рекурсивную процедуру подсчёта положительных и отрицательных элементов в узлах правого и левого поддерева соответственно.
Отсортированное бинарное дерево: дерево в котором каждый узел (вершина) обладает следующим свойством: все числа в узлах левого поддерева должны быть меньше, чем в корне, а в узлах правого – больше или равны. Я создал отсортированное бинарное дерево: 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. Помогите пожалуйста сделать, что бы дерево выдавало и отрицательные значения и разработать рекурсивную процедуру заданную задачей! Небольшое вознаграждение гарантирую ![]() ![]() Так же, к теме вложен файл с программой ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |