Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Turbo Pascal Матрица. Поменять строки и столбцы местами https://www.cyberforum.ru/ turbo-pascal/ thread2378662.html
Добрый день! Подскажите, пожалуйста, как написать программу. Дана матрица 4*4. Необходимо: 1) найти стобцы с наименьшим и наибольшим средним арифметическим значением элементов. Поменять эти столбцы...
Составить блок-схему по коду. Turbo Pascal
var x: array of integer; max, i, n: integer; sr: real; begin n := 15; sr := 0; max := -MaxInt; for i := 1 to n do
Рост броуновского дендрита Turbo Pascal
Прошу помощи в написании кода! Необходимо на Паскале выполнить задания: 1. Смоделировать рост двумерного радиального дендрита в модели ДОА (дифузия, ограниченная агрегацией) 2. Пронаблюдать рост...
Turbo Pascal Как реализовать поиск и нажатие отличающейся цифры внутри игры? Как реализовать поиск и нажатие отличающейся цифры внутри игры? Выводит список цифр, и одна из них может быть:другого шрифта,цвета и т.д, нужно нажать именно её на клавиатуре, как это реализовать?... https://www.cyberforum.ru/ turbo-pascal/ thread2378362.html
Turbo Pascal Написать программу, которая в матрице чисел находит все элементы, превышающие по абсолютной величине заданное число https://www.cyberforum.ru/ turbo-pascal/ thread2378195.html
Написать программу, которая в матрице чисел A(N,M) находит все элементы, превышающие по абсолютной величине заданное число B. Подсчитать число таких элементов и записать их в массив C.
Turbo Pascal Дана настоящая матрица 5x7. Убедитесь, что его заголовки не уменьшены: а) по первым элементам; б) суммой элементов;
Дана настоящая матрица 5x7. Убедитесь, что его заголовки не уменьшены: а) по первым элементам; б) суммой элементов;
Измените матрицу A(n,m) на строгий треугольный вид матрицы Turbo Pascal
Измените матрицу A(n,m) на строгий треугольный вид матрицы (матрица является треугольным видом если, Aij=0, тогда i больше или равно j)
Turbo Pascal Даны целые числа. Верно ли, что в последовательности есть 0 члены Данные целые числа a1.....an. Верно что в последовательности есть 0 члены https://www.cyberforum.ru/ turbo-pascal/ thread2377890.html
Turbo Pascal Массив в Turbo Pascal https://www.cyberforum.ru/ turbo-pascal/ thread2377681.html
Здравствуйте, прошу помочь мне. Задачку задали мне, и не могу понять как её решить. Собственно вот она: Задано массив X. Заполнить массив A за следующим правилом: {A}_{i,j}={x}^{j}_{i}
Turbo Pascal Вычислить сумму ряда S с погрешностью эпсилон Вычислить сумму ряда S с погрешностью эпсилон, задаваемой с клавиатуры. Вывести количество итераций, сделанных при вычислении. Если вычислить сумму S с погрешностью эпсилон невозможно, вывести... https://www.cyberforum.ru/ turbo-pascal/ thread2377662.html
0 / 0 / 0
Регистрация: 13.10.2018
Сообщений: 1
0

Определить количество листьев на каждом уровне дерева итеративным способом

23.12.2018, 14:21. Просмотров 1173. Ответов 1
Метки (Все метки)


Здравствуйте, необходима помощь. Необходимо написать процедуру, определяющую количество листьев на каждом уровне дерева итеративным способом и вывести эту информацию.

Вот код основной программы:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Type  
U = ^BinTree; 
BinTree = record 
  inf : integer;
  depth: integer;
  l, r : U 
  end;
 
var
Der:U;
input, f1, output, f2: text;
i,i1,i2: integer;
c: char;
inf:integer;
depth:integer;
lev:string[10];
 
procedure InData(var Tree : U; depth,x: integer);
begin
   If Tree = nil then 
   begin
        new(Tree);
        tree^.l := Nil;
        tree^.r := Nil;
        tree^.depth:=depth;
        tree^.inf := x
     end
   else if x < tree^.inf then 
    InData(tree^.l,depth+1, x)
     else 
      InData(tree^.r,depth+1, x)
end;
 
procedure PrintTree(tree : U);
begin
     if Tree <> Nil then 
     begin 
      PrintTree(tree^.l); 
      write(tree^.inf : 4); 
      PrintTree(tree^.r) 
    end;
end;
 
procedure getDepthOfTree(tree : U);
begin
    if tree = nil then exit;
    if tree^.depth > depth then
        depth := tree^.depth;
    getDepthOfTree(tree^.l);
    getDepthOfTree(tree^.r);    
end;
 
begin
assign(input, 'in.txt');
reset(input);
While not eof(input) do
  begin
    readln(input,inf);
    InData(Der,1,inf);
  end;
 
printtree(der);
getDepthOfTree(der);
writeln;
writeln(depth);
 
end.
В текстовом файле находятся информация для дерева:
Код
7
8
12
5
3
2
9
1
0
10


Вернуться к обсуждению:
Определить количество листьев на каждом уровне дерева итеративным способом
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2018, 14:21
Готовые ответы и решения:

Определить количество узлов на каждом уровне данного бинарного дерева
Помогите с этой задачей) Определить количество узлов на каждом уровне данного бинарного дерева....

Определить число листьев дерева
Дерево формировать динамически. Заполнить двоичное дерево следующим образом: если число меньше или...

Посчитать количество листьев и неполных вершин заданного бинарного дерева
Всем привет. Нужна срочно помощь. Вот задание: 1.Посчитать количество листьев и неполных вершин...

Определить число листьев на каждом уровне дерева
Нужно составить такую функцию. Именно на каждом отдельном уровне, а не по дереву вообще.

1
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.