Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Программа №3





Program derevo;

Uses Crt;

{Варианты запуска обхода с подсчетом:

1 - количество вершин, имеющих хотя бы одну ненулевую связь;

2 - количество вершин, имеющих две ненулевые связи;

3 - количество вершин, имеющих не более одной ненулевой связи. }

Const NeMensheOdnoj=1;

Dve=2;

NeBolsheOdnoj=3;

Type inform = Integer;

ss = ^zveno;

zveno = Record

key: Integer;

inf: Inform;

left, right: ss;

End;

Var t: ss;

n,nn,c, i,k: Integer;

{----формирование дерева----}

Procedure Vstavka (Var p: ss; x: Integer);

 

Begin

If p = Nil Then

 

Begin

New (p);

p^. inf: =x;

p^. key: =1;

p^. left: =Nil;

p^. right: =Nil;

 

End

else begin

If x<p^. inf Then Begin Vstavka (p^. left,x); End;

If x>=p^. inf Then Begin Vstavka (p^. right,x); End;

end;

End;

{----вывод дерева----}

Procedure Print (Var p: ss; h: Integer);

Var i: Integer;

 

Begin

If p <> Nil Then

 

Begin

Print (p^. right,h+4);

For i: =1 To h Do Write (' ');

Writeln (p^. inf);

Print (p^. left,h+4);

End;

End;

{ Рекурсивная функция, делающая подсчёт для текущего дерева }

Function Count (p: ss; v: integer): integer;

 

Begin

{ Нет элемента - результата ноль }

IF p = Nil Then Count: =0

Else Begin

{ Рассматриваются варианты вызова функции с соответствующими условием}

{ Первый вариант - либо left, либо right не равны Nil }

If ((v = NeMensheOdnoj) and ((p^. left <> Nil) or (p^. right <> Nil)))

or

{ Второй вариант - и left, и right не равны Nil }

((v = Dve) and ((p^. left <> Nil) and (p^. right <> Nil)))

or

{ Третий вариант - либо left, либо right равны Nil }

((v = NeBolsheOdnoj) and ((p^. left = Nil) or (p^. right = Nil)))

{ Какой-то из вариантов сработал => ставим 1

и добавляем результаты рекурсивных вызовов левой и правой ветви}

Then Count: =1 + Count (p^. left,v) + Count (p^. right,v)

{ Иначе берём 0 и добавляем рекурсивные вызовы }

else Count: =0 + Count (p^. left,v) + Count (p^. right,v)

End;

End;

{----обход дерева----}

Begin ClrScr;

Writeln ('Vvedite koli4estvo elementov dereva: ');

Readln (n);

randomize;

For i: =1 To n Do

 

Begin

Writeln ('Vvedite o4erednoj element');

Read (c);

Vstavka (t,c);

End;

Print (t,0);

Writeln ('Koli4estvo vershin c >= 1 nenulevoj svjazi: ',Count (t,NeMensheOdnoj));

Writeln ('Koli4estvo vershin c 2 nenulevymi svjazjami: ',Count (t,Dve));

Writeln ('Koli4estvo vershin c <= 1 nenulevoj svjazi: ',Count (t,NeBolsheOdnoj));

Readkey;

End.

 







Дата добавления: 2015-08-12; просмотров: 369. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Расчет концентрации титрованных растворов с помощью поправочного коэффициента При выполнении серийных анализов ГОСТ или ведомственная инструкция обычно предусматривают применение раствора заданной концентрации или заданного титра...

Психолого-педагогическая характеристика студенческой группы   Характеристика группы составляется по 407 группе очного отделения зооинженерного факультета, бакалавриата по направлению «Биология» РГАУ-МСХА имени К...

Общая и профессиональная культура педагога: сущность, специфика, взаимосвязь Педагогическая культура- часть общечеловеческих культуры, в которой запечатлил духовные и материальные ценности образования и воспитания, осуществляя образовательно-воспитательный процесс...

Studopedia.info - Студопедия - 2014-2025 год . (0.011 сек.) русская версия | украинская версия