Помощь - Поиск - Пользователи - Календарь
Полная версия: Тупой вопрос о графах
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Sleid
Люди!! Помогите!!! Я пытаюсь понять теорию графов... У меня возник вопрос по поводу алгоритма задания бинарного дерева и наглядного вывода на экран... задается с помощью 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);
if not(st='') then begin
new(n);
sozd1:=n;
n^.stroki:=st;
n^.ukrnext1:=sozd1;
end else begin
sozd1:=nil;
ukr0:=sozd2;
end;
end;
function sozd2:ukaz;
var st:string;
n:ukaz;
begin
readln (st);
if not(st='') then begin
new(n);
sozd1:=n;
n^.stroki:=st;
n^.ukrnext1:=sozd1;
end else begin
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.
volvo
Ну, допустим, мозги ты себе-таки спалил:
Цитата(Правила Раздела)
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Трудно прочесть?

Перенесено в Задачи...

P.S. Кстати, FAQ пишется не просто так: Все о динамических структурах данных. (сначала внимательно читать, потом задавать вопросы)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.