Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 25.05.2016
Сообщений: 4
1

Нужно напечатать все элементы с листьев дерева

25.05.2016, 14:44. Показов 1995. Ответов 1
Метки нет (Все метки)

Привет! Нужна помощь с деревьями. Нужно напечатать все элементы с листьев дерева. Буду очень благодарен!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2016, 14:44
Ответы с готовыми решениями:

Написать рекурсивную процедуру, которая печатает элементы из всех листьев дерева
Добрый день! Прошу помочь с написанием программы: Написать рекурсивную процедуру, которая...

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

Найти сумму листьев 2-ого дерева
function Kolvo(t:tree):integer; var k:integer; begin if t<>nil then begin if...

Процедура печати листьев бинарного дерева
2. Процедура печати листьев бинарного дерева

1
Эксперт С++
1592 / 924 / 777
Регистрация: 06.02.2016
Сообщений: 2,411
Записей в блоге: 29
25.05.2016, 16:27 2
Лучший ответ Сообщение было отмечено Yehor_21 как решение

Решение

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
program pr;
type
  Pnode = ^node;
  node = record
    data: integer;
    left, right: Pnode;
  end;
var
  tree: Pnode;
  n, x, i: integer;
procedure addtotree(var tree: Pnode; x: integer);
begin
  if tree = nil then
  begin
    new(tree);
    tree^.data := x;
    tree^.left := nil;
    tree^.right := nil;
    exit;
  end;
  if x < tree^.data then
    addtotree(tree^.left, x)
  else addtotree(tree^.right, x);
end;
procedure lkp(tree: Pnode);
begin
  if tree = nil then exit;
  Lkp(Tree^.left); 
  write('  ', Tree^.data);
  Lkp(Tree^.right); 
end;
procedure PrintList(ANode: pnode);
begin
  if anode = nil then exit;
  if(anode ^.Left = nil) and (anode^.Right = nil) then
    write(' ', anode^.Data);
  PrintList(anode^.Left);
  PrintList(anode^.Right);
end;
begin
  writeln('Введите количество элементов');
  readln(n);
  for i := 1 to n do
  begin
    x := random(21);
    addtotree(tree, x);
  end;
  writeln('Все элементы дерева');
  lkp(tree);
  writeln;
  writeln('Листья');
  PrintList(tree);
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2016, 16:27

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Вывести сумму значений всех листьев данного дерева
доброго всем времени суток) дали нам опять задачи и все бы хорошо,но про бинарные деревья я ничего...

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

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

Если в массиве есть элементы, большие заданного числа N, то напечатать все элементы
Дан массив, упорядоченный, по возрастанию. Если в нем есть элементы, большие заданного числа N, то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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