1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Тупой вопрос о графах, как задать бинарное дерево?
Люди!! Помогите!!! Я пытаюсь понять теорию графов... У меня возник вопрос по поводу алгоритма задания бинарного дерева и наглядного вывода на экран... задается с помощью ranom'а или с клавиатуры.Кто-нибудь может подсказать алгоритм?(я пытался сделать через рекурсию...чуть не спалил себе мозги...).Прикрепляю то, что уже успел нароботать
uses crt;
type
ukaz=^object1;
stroka=string[80];
object1=record
stroki:stroka;
ukrnext1:ukaz;
ukrnext2:ukaz;
end;
var ukrtek,ukr0, sled, pred, ukrzak:ukaz;
st: stroka;
a,b,c:integer;
{ procedure print;
begin
ukrtek:=ukr0;
while ukrtek^.ukrnext<>nil do begin
Ukrtek:=Ukrtek^.ukrNext;
writeln(Ukrtek^.stroki);
End;
end; }function sozd1:ukaz;
var st:string;
n:ukaz;
begin
readln (st);
ifnot(st='') thenbegin
new(n);
sozd1:=n;
n^.stroki:=st;
n^.ukrnext1:=sozd1;
endelsebegin
sozd1:=nil;
ukr0:=sozd2;
end;
end;
function sozd2:ukaz;
var st:string;
n:ukaz;
begin
readln (st);
ifnot(st='') thenbegin
new(n);
sozd1:=n;
n^.stroki:=st;
n^.ukrnext1:=sozd1;
endelsebegin
sozd2:=nil;
ukr0:=sozd1;
end;
begin
clrscr;
new(ukr0);
ukrtek:=ukr0;
ukrtek^.ukrnext1:=nil;
ukrtek^.ukrnext2:=nil;
readln(st);
ukrtek^.stroki:=st;
print;
{ readln(a);
readln(st);
new(sled);
ukrtek:=ukr0;
while (ukrtek^.ukrnext<>nil) and (b<2) do begin
b:=b+1;
pred:=ukrtek;
ukrtek:=ukrtek^.ukrnext;
end;
sled^.ukrnext:=ukrtek;
sled^.stroki:=st;
pred^.ukrnext:=sled; }
print;
end.