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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2009, 21:24   #1
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию Проверте правильность кода (деревья)

Вывести на экран элемент из самого левого листа непустого дерева (лист - вершина, из которой не выходит ни одной ветки).

Код:
program Project2;
{$APPTYPE CONSOLE}
uses
  SysUtils;

TYPE BT=integer;
     U = ^BinTree;
     BinTree = Record
         Inf : BT;
         L,R : U;
END;

PROCEDURE Ins(Var Tree : U; X : BT);      //вставляет элемент в дерево
Begin
   If Tree = Nil
   Then Begin 
	    New(Tree);
	    Tree^.L := Nil;
	    Tree^.R := Nil;
	    Tree^.Inf := x
	End
   Else If x < Tree^.inf
	Then Ins(Tree^.L, x)
	Else Ins(Tree^.R, x)
END;


PROCEDURE PrintTree(T:U);
Begin
 if T<>nil then
             begin
              PrintTree(T^.L);
              Writeln('  ', T^.inf:5);
              PrintTree(T^.R);
             end;
END;


PROCEDURE InsDer(var T:U);
var i,n:integer;
    x:BT;
Begin
  Randomize;
  Write('kol-vo el-tov v dereve: ');
  readln(n);
  for i:=1 to n do
  begin
    Write('El: '); Readln(x);
    //x:=-10+Random(21); write(x:5,'   ');
    Ins(T,x);
  end;
END;

PROCEDURE I(var der:U);
var vsp:U;
begin
  while true do
   begin
    if der^.L<>nil then begin vsp:=der; der:=der^.L; end;
    if (der^.L=nil)and(der^.R<>nil) then begin vsp:=der; der:=der^.R; end;
    if (der^.L=nil)and(der^.R=nil) then exit;
   end;
end;

var Der,vsp:U;
    e:BT;

BEGIN
  { TODO -oUser -cConsole Main : Insert code here }
  InsDer(Der);
  writeln;
  PrintTree(Der);
  I(der);
  writeln(der^.Inf);
  readln;
END.
[/QUOTE]
Жми на весы!!!
Chudo4258 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверьте правильность написания кода в delphi neomaximus Помощь студентам 2 09.04.2009 17:29
Проверте пожалуйсто верна ли задача! Dialon Помощь студентам 8 03.02.2009 20:35
Проверте пожайлуста написания програмы АлександрFRONT Паскаль, Turbo Pascal, PascalABC.NET 5 09.12.2008 08:27
Проверте сайт niva622 HTML и CSS 10 23.08.2007 18:26