Форум программистов, компьютерный форум CyberForum.ru

Задача про Бинарные деревья! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти сколько чисел на отрезке x; y начинаются с цифры 8 в шестнадцатеричной записи http://www.cyberforum.ru/cpp-beginners/thread400350.html
Ребят, у меня вопрос! зависит ли от того, в какой системе первоначально даны х и у найти сколько чисел на отрезке x;y начинаются с цифры 8 в шестнадцатеричной записи
C++ Сложить все натуральные числа от 1 до n Сложить все натуральные числа от 1 до n. Используя for, while. http://www.cyberforum.ru/cpp-beginners/thread400325.html
C++ Разложение функции в ряд
Найти сумму ряда с точностью до члена ряда, меньшего 0.0001 для заданного значения и сравнить эту сумму с функцией контроля. Для вычисления последующего значения члена ряда использовать рекуррентную формулу. Значение: x=2 Функция контроля y=(e^x - e^-x)/2 y=x+(x^3)/3!+...+(x^2n+1)/(2n+1)!
Массивы C++ C++
Ребят, нужна помощь 6. Написать программу, которая выводит максимальный элемент введенного с клавиатуры массива целых чисел. Использовать средства ввода/вывода языка С++. 12. Написать программу, которая проверяет, есть ли во введенном с клавиатуры массиве элементы с одинаковыми значениями. Использовать средства ввода/вывода языка С++. 16. Написать программу, которая вводит по строкам с...
C++ int -> string Как??? http://www.cyberforum.ru/cpp-beginners/thread400284.html
Добрый вечер, дорогие друзья. Как преобразовать переменную типа int в string ? (в гугл не отправлять, только оттуда)
C++ Как определить к-во цифр в числе? Как определить к-во цифр в числе а (а натуральное и а<=100) подробнее

Показать сообщение отдельно
Элвиc
5 / 0 / 0
Регистрация: 26.04.2011
Сообщений: 18
06.12.2011, 17:59     Задача про Бинарные деревья!
здрасти! помогите плиз с задачей! я вот начал писать и столкнулся с проблемами...
вот задание:

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

C++
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
#include <iostream>
 
using namespace std;
 
struct tree 
{
  int info;
  tree *left;
  tree *right;
};
 
struct tree *root1; 
 
struct tree *stree(struct tree *root, struct tree *r, int info)
{
 
  if(!r) 
  {
    r = (struct tree *) malloc(sizeof(struct tree));
    r->left = NULL;
    r->right = NULL;
    r->info = info;
    if(!root) return r; /* первый вход */
    if(info < root->info) root->left = r;
    else root->right = r;
    return r;
  }
 
  if(info < r->info)
    stree(r, r->left, info);
  else
    stree(r, r->right, info);
 
  return root;
}
 
void print_tree(struct tree *r, int l)
{
  int i;
 
  if(!r) return;
 
  print_tree(r->right, l+1);
  for(i=0; i<l; ++i) cout<<"   ";
  cout<<r->info;
  cout<<endl;
  print_tree(r->left, l+1);
}
void searchMax(struct tree *r, int l,int m)
{
cout<<m<<endl;
if(!r) return;
 
 
  if(m<r->info) 
 m=r->info;
 searchMax(r->right, l+1,m);
  
 if(m<r->info) 
 m=r->info;
 
 searchMax(r->left, l+1,m);
 if(m<r->info) 
 m=r->info;
 cout<<m<<endl;
}
void main()
{
  //int s;
  int n=8;
  int a[8];
  cout<<"enter";
  for(int i=0;i<n;i++)
  {
    cin>>a[i];
  }
  root1 = NULL; 
  for (int i=0; i<n; i++)
  {
     root1 = stree(root1, root1, a[i]);
  }
  cout<<endl<<"print tree"<<endl;
  print_tree(root1, 0);
 
  int max=a[0];
searchMax(root1,0,max);
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru