Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
28.06.2014
Размер:
1.53 Кб
Скачать
program laba8;
uses crt, dos, graph;

Type Tnode= ^S;
S = record
Name: string; {‡­ зҐ­ЁҐ}
left, right: Tnode; {‘«Ґ¤гойЁ© ®ЎкҐЄв}
End;

type sssss = string[6];
var i: integer; {Љ®«- ® н«-в®ў}
fin: text; {‚е. д ©«}
tree: Tnode;

procedure ReadString(var u: string);
var q: char;
begin
read(fin, q);
if q <> ' ' then
begin
u:=u+q;
readstring(u);
end;
end;

{Џа®жҐ¤га  з⥭Ёп § д ©« }
procedure CreateTree(var fin: text; var root: tnode);
var p: tnode;
u: string;
begin
u:='';
readstring(u);
if u = '*' then root:=nil
else
begin
new(p);
p^.name:=u;
CreateTree(fin, p^.left);
CreateTree(fin, p^.right);
root:=p;
end
end;

procedure view(var root: tnode; l, r, y: integer);
begin
gotoXY((r+l) div 2, y);
textcolor(y-1);
if root = nil then write('*')
else
begin
gotoXY((r+l) div 2 - (Length(root^.name) div 2), y);
write(root^.name);
view(root^.left, l, (r+l) div 2 ,y+2);
view(root^.right, (r+l) div 2 , r, y+2);
end;

end;

procedure search(var root: tnode; var n: integer);
begin
if root <> nil then
begin
if root^.name = '‘Ґа дЁ¬' then
n:=n+1;
search(root^.left, n);
search(root^.right, n);
end;
end;


begin
Window (10, 2, 80, 100);
assign(fin, 'G:\tpascal\2semestr\laba11\fin.txt');
reset(fin);
CreateTree(fin, tree);
view(tree, 0, 70, 2);
i:=0;
search(tree, i);
gotoXY(2, 23);
textcolor(7);
writeln(i, ' 祫®ўҐЄ c Ё¬Ґ­Ґ¬ ‘Ґа дЁ¬ ');
readln;
end.
Соседние файлы в папке laba11