Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2015, 21:34   #1
bobbyserf
 
Регистрация: 04.12.2014
Сообщений: 6
Восклицание Удаление заданной вершины бинарного дерева.

PHP код:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
 
class 
Policlinnica
{
private:
 
    
struct Node
    
{
        
char family [30];
        
char name [30];
        
char fathername [30];
        
char adress[30];
        
int polic;
        
long int medkart;//медкарта
        
Nodeleft;
        
Noderight;
 
        
Node()
        {
            
strcpy(this->family"");
            
strcpy(this->name"");
            
strcpy(this->fathername"");
            
strcpy(this->adress"");
            
this->polic=0;
            
medkart0;
            
this->left=0;
            
this->right=0;
        }
 
        
Node(Node const& rhs)
        {
            
strcpy(familyrhs.family);
            
strcpy(namerhs.name);
            
strcpy(fathernamerhs.fathername);
            
strcpy(adressrhs.adress);
            
polic=rhs.polic;
            
medkart=rhs.medkart;
            
left=rhs.left;
            
right=rhs.right;
        }
 
       
void insert(Node const& rhs)
        {
            if(
rhs.medkart medkart)
            {
                if(!
left)
                    
left = new Node(rhs);
                else
                    
left->insert(rhs);
            }
            if(
rhs.medkart medkart)
            {
                if(!
right)
                    
right = new Node(rhs);
                else
                    
right->insert(rhs);
            }
        }
 
 
        
void print() const
        {
            if(
left)
                
left->print();
                
cout <<"family      "<< family << "\n\n";
                
cout <<"name        "<< name << "\n\n";
                
cout <<"fathername  "<< fathername << "\n\n";
                
cout <<"adress      "<< adress << "\n\n";
                
cout <<"polic       "<< polic << "\n\n";
                
cout <<"medkart     "<< medkart << "\n\n";
                
cout << "===============================================";
                
cout << "\n";
    
            if(
right)
                
right->print();
        }
 
    };
    
NodepRoot;//êîðíåâîé
    

public: Policlinnica() : pRoot(0){}
 
    
void insert(Node const& rhs)
    {
        if(!
pRoot)
            
pRoot = new Node(rhs);
        else
            
pRoot->insert(rhs);
    }
 
    
void LoadFile();
 
    
void print() const
    {
        if(
pRoot)
            
pRoot->print();
    }
  
  
};
 
void Policlinnica::LoadFile()
{
    
Node tmp;
    
FILEf=fopen("in.txt","rt");
    if (
f)
    {
        while (!
feof(f))
        {
            
fscanf(f"%s %s %s %s %d %d %d"tmp.familytmp.nametmp.fathernametmp.adress, &tmp.polic, &tmp.medkart);
            
insert(tmp);
        }
        
fclose(f);
 
    }
    else
        
cout << "File not found";
}
 
 
int main()


    
Policlinnica obj;
    
obj.LoadFile();
    
obj.print();
    

Напишите пожалуйста функцию удаления по "медкарте". Никак не получается.
bobbyserf вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Высота бинарного дерева dido171 Помощь студентам 4 02.12.2014 13:30
улаление вершины дерева olol-o Помощь студентам 3 27.12.2012 17:05
Вывод бинарного дерева. C++ vadmaruschak Помощь студентам 0 11.12.2012 13:07
нахождение кратчайшего пути от заданной вершины vovik4385 Общие вопросы C/C++ 3 08.11.2012 18:00