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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2009, 15:54   #1
Осипович
 
Регистрация: 16.05.2009
Сообщений: 7
По умолчанию Идеально сбалансированное дерево

Всем привет ! Меня зовут Миша ... я учусь на первом курсе ... есть проблема . Пожалуйста помогите ... =)

Задание : нужно написать программу которая читает входной файл и строит идеально сбалансированное дерево ... Есть вариант , но где то ошибка не вижу где ...

Код:
program Mishatree;

{$APPTYPE CONSOLE}

uses
SysUtils,Math;

type ref=^node;
node= record
key : integer;
left, right : ref;
end;
var n : integer; root : ref;

function tree(n:integer) : ref;
var newnode : ref;
x,nl,nr : integer;
begin
if n=0 then tree:=nil else
begin
nl:=n div 2; nr:=n-nl-1;
read(x); new(newnode);
with newnode^ do
begin
key:=x;
left:=tree(nl);
right:=tree(nr)
end;
tree:=newnode
end
end;

procedure printtree(t : ref; 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;

begin
read(n);
root:=tree(n);

printtree(root,0);

end.
Осипович вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дерево в FireBird Cerber24 БД в Delphi 9 06.04.2009 20:55
Дерево MAcK Общие вопросы Delphi 7 13.06.2008 17:30
Дерево Rifler Паскаль, Turbo Pascal, PascalABC.NET 1 06.05.2008 08:42
Дерево Yoger БД в Delphi 3 25.01.2007 01:24