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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2009, 14:19   #1
Ddr
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 19
По умолчанию Поясните задачку(Delphi)

Условие: Построить дерево с элементами типа integer и найти среди них максимальный. вот код программы
Код:
procedure RandomFillTree(var Node: TTree; const Nodes: integer);
var Left, Right: integer;
begin
    randomize;
    {calc parts (Left, Right)}
    if Nodes = 0 then Exit;
    Left := Random(Nodes);
    Right := Nodes - Left-1;
    New(Node);
    Node^.inf := Round(Random(10000));

    {debug output "trace"}
    Node^.Left := nil; Node^.Right := nil;
    RandomFillTree(Node^.Left, Left);
    RandomFillTree(Node^.Right, Right);
end;
procedure Search_Max(var T:TTree;var elem:integer);
 begin
   if T<>nil
      then
       begin
         if T^.inf>elem
            then elem:=T^.inf;
        Search_Max(T^.right,elem);
        Search_Max(T^.left,elem);
   end;  end;
procedure ShowTree(T: Ttree; s: TtreeNode);
begin
if t <> nil then
with Form1.TreeView1 do
begin
s := Items.AddChild(s, IntToStr (t^.inf));
ShowTree(t^.left, s);
ShowTree(t^.right, s)
end;
end;
Процетируйте пожалуйста с подробным объяснением каждой строчки
вот объявление дерева
Код:
Type TTree=^TNode;
        TNode=record
            inf:integer;
            left,right:TTree;
          end;


var T:TTree;
     maxel,x,max:integer;
Ddr вне форума Ответить с цитированием
Старый 16.04.2009, 21:45   #2
Ddr
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 19
По умолчанию

Ddr вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поясните ООП sodd Общие вопросы Delphi 1 23.02.2009 14:14
Поясните откуда ошибка? Hegel Помощь студентам 8 12.01.2009 07:39
Решите задачку на Delphi evrey Общие вопросы Delphi 1 01.06.2008 21:47