
3.4 Набор тестов
Если в списке нет повторяющихся элементов, то просто выводится список элементов. Например, в списке с помощью случайной генерации сформировался список элементов: 14; 18; 20; 13. То выведется на экран этот же список.
Если в списке есть два и больше одинаковых элементов и мы хотим перевернуть числа находящиеся между двумя крайними заданными элементами. Например: 6, 6, 17, 9, 6, 3, 5, 19. Получим: 6, 9, 17, 6, 6, 3, 5, 19.
Если дан список: 20, 13, 14, 9, 18, 13. Выведется: 20, 13, 18, 9, 14, 13.
Глава 4. Задача V 1 с
Описать процедуру или функцию, которая: подсчитывает число вершин на n- ном уровне непустого дерева T (корень считать вершиной 0-го уровня).
4.1 Листинг программы
program K_vo_elementov;
type
tl=^Tree;
Tree=Record
data:real;
L,R:tl;
end;
Var
kd:tl;
E,d,sm:real;
s:string;
code:integer;
k,n,m:integer;
Procedure InsTree(n:real;var t:tl);
begin
if t=nil then
begin
new(t);
with t^ do
begin l:=nil;
r:=nil;
data:=n;
end
end
else if n<=t^.data then InsTree(n,t^.l)
else InsTree(n,t^.r)
end;
Procedure PrintTree(t:tl);
begin
if t<>nil then
begin
write(t^.data:1:1,' ');
PrintTree(t^.l);
PrintTree(t^.r);
end;
end;
Procedure Urov(t:tl; var k:integer; n,m:integer);
begin
if t<>nil then
begin
if m=0 then if m=n then k:=1 else k:=0
else if m=n then k:=k+1 else;
Urov(t^.l,k,n,m+1);
Urov(t^.r,k,n,m+1);
end;
end;
begin
writeln('<Enter> - konec vvoda');
writeln('vvodite derevo: ');
kd:=nil;
readln(s);
val(s,d,code);
while s<>'' do
begin InsTree(d,kd);
readln(s); val(s,d,code);
end;
write('n='); readln(n);
Urov(kd,k,n,0);
writeln('k-vo: ',k);
{ PrintTree(kd);}
readln;
end.
4.4 Набор тестов
Например, имеем дерево: 30, 40, 20, 25, 17, 63, 19, 24, 56.
Необходимо узнать число вершин на 2 и 7 уровне.
Число вершин на втором уровне равно 3.
Для проверки изобразим схематично:
Число вершин на 7 уровне равно нулю.
Число вершин на 0 уровне всегда равно 1 (по условию задачи – дерево не пустое).
ВЫВОДЫ
1) Была сделана программа для списков, которая включает в себя создание пустого списка, добавление элемента (в начало списка, в конец списка и после элемента с заданным номером, после ключа (вывод на экран дисплея), удаление элемента из списка (из начала, из конца, удаление элемента с заданным номером, с заданным ключом).
2) Создана программа для кольцевого списка, в которой переворачивались все элементы стоящие между двумя крайними заданными элементами.
3) К третьей задаче представлена программа, которая находит число вершин на n-ном уровне непустого дерева T.