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

Написать функцию удаления узлов из бинарного дерева - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти произведение положительных элементов одномерного массива http://www.cyberforum.ru/cpp-beginners/thread1152499.html
В одномерном массиве, состоящем из n вещественных элементов, вычислить: - произведение положительных элементов массива; - записать элементы массива в файл.
C++ Цикл не работает Вот код // 2.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include "iostream" #include "string" using namespace std; int _tmain(int argc, _TCHAR* argv) http://www.cyberforum.ru/cpp-beginners/thread1152490.html
C++ Для заданного положительного целого вывести младший бит
Младший бит Для заданного положительного целого A (1 ≤ A ≤ 100), вывести младший бит A. Например, если A = 26, то его мы можем записать в двоичном виде, как 11010, и младший бит A есть 10, и на выходе должно быть 2. Другой пример выглядит следующим образом: при A = 88, это число A мы можем записать в двоичной форме 1011000, младший бит в A есть 1000, и на выходе должно быть 8. ...
C++ С++ или С. Какой язык программирования необходимо знать изначально, чтобы далее изучать Objective C?
Добрый вечер Форумчане, Нужен Ваш профессиональный совет/опыт как эксперта. Недавно я начал изучать язык программирования С++, так как конечной целью является переход на язык Objective C для разработок различных приложений (Mobile Utility Apps and 2D Games). Сегодня прочитал комментарии на www.cyberforum.ru, где пишут, что для Objective C желательно знать С, а не С++. Сейчас я в...
C++ Дан одномерный массив, состоящий из N вещественных элементов http://www.cyberforum.ru/cpp-beginners/thread1152477.html
1. Заполнить массив случайными числами. 2. Найти минимальный элемент. выдает ошибку error C2040: a: "int *" отличается по уровням косвенного обращения от "int" и error C2109: для индекса требуется массив или указатель. Объясните,пожалуйста. Что ему не нравится??? #include <stdio.h> #include <conio.h> #include <iostream> void main() { setlocale(LC_ALL, "Russian");
C++ Функция strncmp int main() { setlocale(LC_ALL,"Rus"); char droids = { "R2D2" , "C3PO" , "R2A6" }; // имеющиеся дроиды cout << "Ищете R2-дроида астромеханика...\n"; for (int counter = 0 ; counter <= 2 ; counter++) // проход по дроидам if ( strncmp( droids, "R2", 2 )==0 ) //сравниваем первые два символа строк { подробнее

Показать сообщение отдельно
Lipok
 Аватар для Lipok
2 / 2 / 0
Регистрация: 27.05.2013
Сообщений: 15
20.04.2014, 19:51     Написать функцию удаления узлов из бинарного дерева
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
#include <iostream>
#include <conio.h>
using namespace std;
const int sz=80; 
struct file{
    
    char FI[sz];
    int data;
    int mes;
 
};
struct Node //Звено дерева
{
   file x; //То, что записываем в дерево
   Node *l,*r; //Это указатели на новые звенья
};
 
class Der{
 
public:
    
 
void show(Node *&Tree) //Функция обхода
{
    if (Tree!=NULL) //Пока не встретится пустое звено
    {
       show(Tree->l); //Рекурсивная функция для вывода левого поддерева
       cout<<Tree->x.FI<<endl; //Отображаем корень дерева
       cout<<Tree->x.data<<endl;
       cout<<Tree->x.mes<<endl;
       show(Tree->r); //Рекурсивная функци для вывода правого поддерева
    }
}
 
void add_node(file x,Node *&MyTree) //Фукция добавления звена в дерево
{
    if (NULL==MyTree)  //То, о чем я в самом начале писал. Если дерева нет, то ложим семечко
    {
        MyTree=new Node; //Выделяем память под звено дерева
        MyTree->x=x; //Записываем данные в звено
        MyTree->l=MyTree->r=NULL; //Подзвенья инициализируем пустотой во избежание ошибок
    }
 
    if (x.data<MyTree->x.data)   //Если нововведенный элемент x меньше чем элемент x из семечка дерева, уходим влево
                      {
                          if (MyTree->l!=NULL) add_node(x,MyTree->l); //При помощи рекурсии заталкиваем элемент на свободный участок
                          else //Если элемент получил свой участок, то
                          {
                              MyTree->l=new Node;  //Выделяем память левому подзвену. Именно подзвену, а не просто звену
                              MyTree->l->l=MyTree->l->r=NULL; //У левого подзвена будут свои левое и правое подзвенья, инициализируем их пустотой
                              MyTree->l->x=x; //Записываем в левое подзвено записываемый элемент 
                          }
                      }
                 
    if (x.data>MyTree->x.data)   //Если нововведенный элемент x больше чем элемент x из семечка дерева, уходим вправо
                      {
                          if (MyTree->r!=NULL) add_node(x,MyTree->r); //При помощи рекурсии заталкиваем элемент на свободный участок
                          else //Если элемент получил свой участок, то
                          {
                              MyTree->r=new Node;  //Выделяем память правому подзвену. Именно подзвену, а не просто звену
                              MyTree->r->l=MyTree->r->r=NULL; //У правого подзвена будут свои левое и правое подзвенья, инициализируем их пустотой
                              MyTree->r->x=x; //Записываем в правое подзвено записываемый элемент 
                          }
                      }
        
}
void del(char txt){
 
}
};
 
int main()
{
   Node *Tree=NULL;  //Создаю указатель, тип которого = звено дерева и инициализирую его пустотой
  int i;
  const int n=5;
  file apart[n];
 
     for(i=0;i<n;i++)
     {
cout<<"Vvedite file :";
cin>>apart[i].FI;
cout<<"Vvedite data :";
cin>>apart[i].data;
cout<<"Vvedite mes :";
cin>>apart[i].mes;
     }
  cout<<endl;
 
   Der ob;
   
      
      for (int i=0;i<n;i++) ob.add_node(apart[i],Tree); 
      ob.show(Tree); //Вывод на экран дерева. или просто обход дерева
 
      cin.get();
 
   return 0;
}
file - вводить название файла например (test1.txt)
data - дата последнего обращения
mes- месяц

нужна функция удаления из бинарного дерева всех файлов с расширением .txt
если не сложно помогите плиз
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru