IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> вывод дерева
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 82
Пол: Женский

Репутация: -  0  +


мне надо создать и вывести дерево ОЛП в таблице
все создается, но не выводитс изза рекурсии

Type
ND = ^ NODE;
NODE = RECORD
INF1 : string;
INF2 : STRING ;
LEFT : ND;
RIGHT : ND;
END;
var
q,root:ND;

procedure obxod_OLP (q:nd); {prymoi}
var
npp:string;
begin
form7.stringgrid1.rowcount:=2;
form7.stringgrid1.ColCount:=3;
form7.stringgrid1.Cells[0,0]:='№ п\п';
form7.stringgrid1.Cells[0,0]:='Ключевой признак';
form7.stringgrid1.Cells[1,0]:='Информация';
if q <> nil
then begin
inc(k);
form7.stringgrid1.rowcount:= form7.stringgrid1.rowcount+1;
inc(k);
str(k,npp);
form7.stringgrid1.Cells[0,k]:=npp;
form7.stringgrid1.Cells[1,k]:= q^.inf1;
form7.stringgrid1.Cells[2,k]:=q^.inf2;
obxod_OLP( q^.LEFT );
obxod_OLP( q^.RIGHT );
end;
end;

получается что выводит только последний элемент
что и где изменить? или как сделать без рекурсии??!!

2) и вот еще подсчет количества узлов дерева:
PROCEDURE yzel_COUNT(root:ND; VAR K:INTEGER );
BEGIN
IF root<>NIL
THEN BEGIN
p:=root;
IF not(p^.LEFT=NIL) AND not(p^.RIGHT=NIL)
THEN K:=K+1;
yzel_COUNT(p^.LEFT,K );
yzel_COUNT(p^.RIGHT, K );
END;
end;

procedure TForm6.RadioButton1Click(Sender: TObject);
var s: string;
k: integer;
begin
k:=0;
yzel_count(root,k);
s:=' Количество узло = ' + inttostr(k);
if k=0
then showmessage ('Дерево пусто')
else showmessage (s);
end;


получается к=0 и выводит что дерево пусто
заранее спасибо

Сообщение отредактировано: -Екатерина- -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 25.11.2020 14:22
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name