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

Шаблоны классов. Обработка исключительных ситуаций - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Удаление элементов из массива http://www.cyberforum.ru/cpp-beginners/thread718334.html
Написал код, но запускается почему-то "через раз". Помогите, пожалуйста, найти ошибку! Задание: Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения. #include <iostream> #include <time.h> #include <conio.h> using namespace std; int main()
C++ Разработать функцию, которая считает среднее арифметическое и геометрическое массива чисел Я что-то набросала...но в любом случае куча ошибок и недочётов. Помогите с этим делом Буду очень благодарна #include<iostream> #include<math.h> using namespace std; float fun1(float *mas, int n) http://www.cyberforum.ru/cpp-beginners/thread718333.html
Составить описание класса для определения одномерных массивов целых чисел C++
вот прога Составить описание класса для определения одномерных массивов целых чисел (векторов). Предусмотреть возможность обращения к отдельному элементу массива с контролем выхода за пределы массива, возможность предоставления произвольных границ индексов при создании объекта, возможность выполнения операций поэлементного сложения и вычитания массивов с одинаковыми пределами индексов, умножения...
C++ функции в с++ (преобразовать массив)
Подcкажите, пожалуйста, как преобразовать массив (с использованием функции) в с++ таким способом, чтобы сначала находились елементы положительные, а потом все остальные (я думаю, что надо типа: если arr<=0, то его надо в конец массива отправить, но вопрос как? ).
C++ Как обнулить первые 4-е бита начиная с певого заряженного (первые - старшие биты) http://www.cyberforum.ru/cpp-beginners/thread718297.html
Собственно, вопрос в заголовке.
C++ Определить каких чисел в целочисленной последовательности больше:четных или кратных 3 Пожалуйста,помогите написать программу в С++.Только начали изучать,не поняла как реализовать эту прогу в нем((( Определить каких чисел в целочисленной последовательности а1,а2,...,аn больше:четных или кратных 3 подробнее

Показать сообщение отдельно
monk1992
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 9
04.12.2012, 00:20     Шаблоны классов. Обработка исключительных ситуаций
создать шаблон некоторого целевого класса А, возможно, реализован с применением некоторого серверного класса В. Это означает, что объект класса используется как элемент класса А. В качестве серверного класса может быть указан или класс, созданный программистом или класс из стандартной библиотеки - BinaryTree
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
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
123
struct node
{
  int key_value;
  node *left;
  node *right;
};
 
class btree
{
    public:
        btree();
        ~btree();
 
        void insert(int key);
        node *search(int key);
        void destroy_tree();
 
    private:
        void destroy_tree(node *leaf);
        void insert(int key, node *leaf);
        node *search(int key, node *leaf);
        
        node *root;
};
 
btree::btree()
{
  root=NULL;
}
 
btree::~btree()
{
  destroy_tree();
}
 
void btree::destroy_tree(node *leaf)
{
  if(leaf!=NULL)
  {
    destroy_tree(leaf->left);
    destroy_tree(leaf->right);
    delete leaf;
  }
}
 
void btree::insert(int key, node *leaf)
{
  if(key< leaf->key_value)
  {
    if(leaf->left!=NULL)
     insert(key, leaf->left);
    else
    {
      leaf->left=new node;
      leaf->left->key_value=key;
      leaf->left->left=NULL;    //Sets the left child of the child node to null
      leaf->left->right=NULL;   //Sets the right child of the child node to null
    }  
  }
  else if(key>=leaf->key_value)
  {
    if(leaf->right!=NULL)
      insert(key, leaf->right);
    else
    {
      leaf->right=new node;
      leaf->right->key_value=key;
      leaf->right->left=NULL;  //Sets the left child of the child node to null
      leaf->right->right=NULL; //Sets the right child of the child node to null
    }
  }
}
 
node *btree::search(int key, node *leaf)
{
  if(leaf!=NULL)
  {
    if(key==leaf->key_value)
      return leaf;
    if(key<leaf->key_value)
      return search(key, leaf->left);
    else
      return search(key, leaf->right);
  }
  else return NULL;
}
 
void btree::insert(int key)
{
  if(root!=NULL)
    insert(key, root);
  else
  {
    root=new node;
    root->key_value=key;
    root->left=NULL;
    root->right=NULL;
  }
}
 
node *btree::search(int key)
{
  return search(key, root);
}
 
void btree::destroy_tree()
{
  destroy_tree(root);
}
void main()
{
    btree tree;
 
    tree.insert(10);
    tree.insert(5);
    tree.insert(20);
    tree.insert(30);
    tree.insert(40);
    tree.insert(50);
    tree.insert(60);
    tree.search(40); // return pointer to node that has value like a 40
    system("@pause");
}
нужно типа менюшку для отображения етого дерева на екране
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru