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

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Тупой вопрос о графах, как задать бинарное дерево?
Sleid
сообщение 28.02.2007 21:38
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской
Реальное имя: Константин

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


Люди!! Помогите!!! Я пытаюсь понять теорию графов... У меня возник вопрос по поводу алгоритма задания бинарного дерева и наглядного вывода на экран... задается с помощью 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.


Прикрепленные файлы
Прикрепленный файл  BIN.PAS ( 1.32 килобайт ) Кол-во скачиваний: 162
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 28.02.2007 21:42
Сообщение #2


Гость






Ну, допустим, мозги ты себе-таки спалил:
Цитата(Правила Раздела)
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Трудно прочесть?

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

P.S. Кстати, FAQ пишется не просто так: Все о динамических структурах данных. (сначала внимательно читать, потом задавать вопросы)
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 20.07.2025 14:36
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"