Ввожу заявки на авио-билеты:
направление(napr)
город(gorod)
номер рейса(nom_r)
ФИО(fio)
Дата вылета(data_vil)
_________()
________/ \
_______() ()
______/ \ / \
_____() () () ()
Двоичное дерево(я не художник,ну примерн так).
Слева юг, с права север. Работа с динамической памятью.
Я кое что написал.Поправте где неправильно или укажите чего нехватает.
Код: Выделить всё
type
zayavka=^zvk;
zvk=record
left,right:zayavka;
napr:String;
gorod:String;
nom_r:Integer;
fio:String;
dat_vil:Integer;
end;
procedure sozd(t:zayavka);
begin
New(head);
head^.left:=nil;
head^.right:=nil;
end;
procedure ins_tree(var t1,t2:zayavka);
begin
While k=0 do
begin
t1:=head; t2:=head;
New(t1^.left); New(t2^.right);
t1:=t1^.left;
t2:=t2^.right;
Write('Направление:');Readln(t1.napr);
Write('Город: '); Readln(t1.gorod);
Write('Номер рейса:'); Readln(t1.nom_r);
Write('ФИО:'); Readln(t1.fio);
Write('Дата вылета: '); Readln(t1.data_vil);
{------------------------------------------------}
Write('Направление:');Readln(t2.napr);
Write('Город: '); Readln(t2.gorod);
Write('Номер рейса:'); Readln(t2.nom_r);
Write('ФИО:'); Readln(t2.fio);
Write('Дата вылета: '); Readln(t2.data_vil);
Writeln('Хотите выйти?');
если да, то k:=1 иначе k:=0;
end;
