Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 02.07.2008, 12:29   #1
diesel-dbx
Новичок
Джуниор
 
Регистрация: 02.07.2008
Сообщений: 1
Восклицание Нужно объснить как решена задача

задачка сама решена(решал не я).Нужно объснить как она решена(сам в программирование тока знаю что есть паскаль,делпфи...).задачка по бинарным деревъям.
Срочно нужно защитить препроду.Иначе отчислят с универа(((((
вот сам код:
Код:
uses Crt;
Type BT=real;
U = ^BinTree;
BinTree = Record
lvs :array [1..2] of U;
dan:string[50];
End;
var root,nd:U;
i, curp, maxp, cnt:integer;
c:string[50];
mas:array[1..300] of U;
h:text;

begin
new(root);
root^.dan:='nil';
clrscr;
assign(h,'tree.txt');
reset(h);
While not Eof(h) do {chtenie dereva s fila}
begin
readln(h,c);
nd:=root;
for i:=1 to length(c)-1 do nd:=nd^.lvs[ord(c[i])-47];
New(nd^.lvs[ord(c[length(c)])-47]) ;
nd^.dan:=c;
nd^.lvs[ord(c[length(c)])-47]^.lvs[1]:=NiL;
nd^.lvs[ord(c[length(c)])-47]^.lvs[2]:=NiL;
end;

cnt:=0;
mas[1]:=root;
curp:=1;
maxp:=1;
while (curp<=maxp) do
begin
nd:=mas[curp];
for i:=1 to 2 do
begin

if (nd^.lvs[i]<>NiL)then
begin

maxp:=maxp+1;
mas[maxp]:=nd^.lvs[i];
{writeln(curp,'-',i,'->',maxp);}
end;
end;
if ((nd^.lvs[1]<>NiL)or(nd^.lvs[2]<>NiL)) then cnt:=cnt+1;
curp:=curp+1;
end;
writeln('Uzlov:', cnt);
readkey;
end.

Последний раз редактировалось Alex21; 02.07.2008 в 15:16. Причина: читаем правила оформления тем
diesel-dbx вне форума
Старый 10.07.2008, 17:02   #2
Romanbl4
Форумчанин
 
Аватар для Romanbl4
 
Регистрация: 20.06.2007
Сообщений: 144
По умолчанию

Написал бы текст задания к коду. Проще разобраться, когда знаешь функцию программы.
Romanbl4 вне форума
Старый 04.08.2008, 15:34   #3
Fireleo
Пользователь
 
Аватар для Fireleo
 
Регистрация: 23.07.2007
Сообщений: 14
По умолчанию

насколько мен подсказывает опыт, ты ничего не поймешь как не обьясняй.
а ведь нужно только хорошенько подумать...
Fireleo вне форума
Старый 04.08.2008, 17:53   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,220
По умолчанию

Цитата:
Срочно нужно защитить препроду.Иначе отчислят с универа
Бесполезно. Объяснить может и объясним, но вот сможете ли Вы потом этоже объяснить преподу? Учиться надо было, уже поздно...

P.S. Хотя бы условие задачи выложите.

P.P.S. Прошу прощение, только что заметил дату 1-го сообщения
Fireleo, чего древние темы подымать?
Arigato вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень нужно Nurbo Свободное общение 2 03.09.2007 14:41
Нужно влезть. Xandr Общие вопросы Delphi 2 26.08.2007 22:03
Нужно разработать ПО atreus Фриланс 4 29.05.2007 09:37
зачем вообще изучать assembler? rpy3uH Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 31.10.2006 20:36