Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 1
Регистрация: 22.05.2013
Сообщений: 120

Найти в дереве уровень с минимальным средним значением ключей

23.02.2015, 19:56. Показов 1743. Ответов 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
uses crt,GraphABC;
const a:array [1..10] of integer = (7, 5, 9, 3, 1, 10, 6, 8, 4, 2);
type
PTree = ^ TTree;   //указатель на узел дерева
TTree = record     //узел дерева
        data: integer;  //номер дерева
        left, right: pTree; //листья дерева
end;
 
var pRoot:pTree;
    for_menu,x,num:integer;
 
//======= Процедура вставки нового элемента в дерево
Procedure Add_Tree(data_n:integer;Var pRoot:pTree);
begin
   if pRoot=nil then   //если пустое дерево, то создаем 1 корень и 2 листа
        begin
          New(pRoot);
          pRoot^.data:=data_n;
          pRoot^.left:=nil;
          pRoot^.right:=nil;
        end
  else if data_n < pRoot^.data then   //если значение корня больше нового значения
          Add_Tree(data_n,pRoot^.left)   //то к дереву прикрепляется левый лист
       else
          Add_Tree(data_n,pRoot^.right);  // иначе к дереву прикрепляется правый лист
end;
 
//================== Процедура печати дерева
Procedure Print_Tree(pRoot:pTree;n:integer);
var i:integer;
begin
   if pRoot <> nil then  //если дерево не пустое
      begin
         for i:=1 to n do
            write('=');
         writeln(pRoot^.data);
         Print_Tree(pRoot^.left,n+1);
         Print_Tree(pRoot^.right,n+1);
      end; end;
 
//========== Процедура очистки дерева
Procedure Clear_Tree(var pRoot:pTree);
begin
  if pRoot <> nil then    //если дерево не пустое
      begin
         Clear_Tree(pRoot^.left);  //то удаляется левый лист
         Clear_Tree(pRoot^.right);  //удаляется правый лист
         dispose(pRoot);         //удаляется узел или корень
      end; end;
 
//========== Процедура поиска элемента дерева
Procedure Search(data_n:integer;pRoot:pTree);
begin
  if pRoot=nil then writeln('Элемент не найден!')
  else if pRoot^.data=data_n then writeln('Элемент найден!')
       else if data_n < pRoot^.data then
          Search(data_n,pRoot^.left)
       else
          Search(data_n,pRoot^.right); end;
 
//====== Процедура для меню
Procedure menu(num:integer);
var i:integer;
begin
  case num of
    0: CloseWindow;  // Выход
 
    1: begin      // Построение
        for i:=1 to 10 do
          Add_Tree(a[i],pRoot);
          writeln;
        writeln('Дерево построено!');
      end;
 
    2: begin        // Вставка
    writeln;
         write('Введите число: ');
         readln(x);
         Add_Tree(x,pRoot);
      end;
 
    3: begin        //Печать
    writeln;
    writeln('Дерево имеет вид:');
    writeln;
        if pRoot<>nil then Print_Tree(pRoot,0)
        else writeln('Дерево пустое!');
      end;
 
    4: begin         // Поиск
         writeln;
         write('Введите число: ');
         readln(x);
         Search(x,pRoot);
      end;
 
    5: begin       // Очистка
         Clear_Tree(pRoot);
         writeln;
         writeln('Дерево очищено!');
      end; end; end;
//===== Тело программы
begin
  pRoot:=nil;
  writeln('Меню программы:');
  num:=1;
  while num<>5 do
    begin
      writeln;
      Writeln('0 - Выход');
      Writeln('1 - Добавить дерево');
      Writeln('2 - Вставить');
      Writeln('3 - Написать дерево');
      Writeln('4 - Поиск');
      Writeln('5 - Очистка дерева');
      writeln;
      Write('Ваш выбор: ');
      Readln(for_menu);
      menu(for_menu);
  end;
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.02.2015, 19:56
Ответы с готовыми решениями:

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

В двумерном массиве отсортировать элементы строки с минимальным средним значением методом
Помогите справиться с заданиями к зачёту: 1) В двумерном массиве отсортировать элементы строки с минимальным средним значением методом...

В двумерном массиве отсортировать элементы строки с минимальным средним значением методом простого обмена
В двумерном массиве отсортировать элементы строки с минимальным средним значением методом простого обмена помогите пожалуйста

1
0 / 0 / 1
Регистрация: 22.05.2013
Сообщений: 120
01.03.2015, 15:26  [ТС]
Народ! Помогите пожалуйста!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.03.2015, 15:26
Помогаю со студенческими работами здесь

Дан массив.найти номера всех элементов:с минимальным значением,с максимальным значением.
Привет всем!!!помогите решить задачи на С#. 1.Дан массив.найти номера всех элементов:с минимальным значением,с максимальным значением. ...

Нужно найти элемент с минимальным значением и заменить его значением все отрицательные элементы массива
Написать алгоритм решения следующей задачи Задан масив K. Нужно найти элемент с минимальным значением и заменить его значением все...

Найти строку с минимальным средним арифметическим своих элементов
Как найти номер строки двумерного массива A( n,m) в которой среднеарифметическое значение ее элементов минимальное, заранее благодарю за...

найти в массиве непрерывный участок из 10 чисел с наибольшим средним значением
Проверьте пожалуйста, почему все средние значения (второй массив) одинаковы Задание: найти в массиве непрерывный участок из 10 чисел с...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru