Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 14.06.2017, 21:34   #1
anasttb
Пользователь
 
Регистрация: 24.02.2017
Адрес: г. Самара
Сообщений: 31
Репутация: 10
По умолчанию Найти максимальный элемент в дереве.

Код:

// й35235.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"


# include <iostream>
# include <conio.h>
using namespace std;

struct node
{
    int info; //Информационное поле
    node *l, *r;//Левая и Правая часть дерева
};

node * tree=NULL; //Объявляем переменную, тип которой структура Дерево

/*ФУНКЦИЯ ЗАПИСИ ЭЛЕМЕНТА В БИНАРНОЕ ДЕРЕВО*/
void push(int a,node **t)
{
    if ((*t)==NULL) //Если дерева не существует
    {
        (*t)=new node; //Выделяем память
        (*t)->info=a; //Кладем в выделенное место аргумент a
        (*t)->l=(*t)->r=NULL; //Очищаем память для следующего роста
        return; //Заложили семечко, выходим
    }
       //Дерево есть
        if (a>(*t)->info) push(a,&(*t)->r); //Если аргумент а больше чем текущий элемент, кладем его вправо
        else push(a,&(*t)->l); //Иначе кладем его влево
}

/*ФУНКЦИЯ ОТОБРАЖЕНИЯ ДЕРЕВА НА ЭКРАНЕ*/
void print (node *t,int u) 
{
    if (t==NULL) return; //Если дерево пустое, то отображать нечего, выходим
    else //Иначе
    {
    print(t->l,++u);//С помощью рекурсивного посещаем левое поддерево
    for (int i=0;i<u;++i) cout<<"|";
    cout<<t->info<<endl; //И показываем элемент
    u--;
    }
    print(t->r,++u); //С помощью рекурсии посещаем правое поддерево
}

void main ()
{   
    int n; //Количество элементов
    int s; //Число, передаваемое в дерево
    cout<<"введите количество элементов  ";
    cin>>n; //Вводим количество элементов

    for (int i=0;i<n;++i)
    {
    cout<<"ведите число  ";
    cin>>s; //Считываем элемент за элементом
   
    push(s,&tree); //И каждый кладем в дерево
    }
    cout<<"ваше дерево\n";
    print(tree,0);
    getch();  
	push(s,&tree); //И каждый кладем в дерево
	
    }
}

anasttb вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
1. Задан двумерный целочисленный массив Х(6,6). Найти минимальный элемент каждой строки и максимальный элемент каждого столбца массива и записать их в одномерный массив А. Greeb S Фриланс 5 15.12.2016 11:48
найти максимальный элемент rogge Microsoft Office Excel 5 03.12.2015 19:43
Найти максимальный элемент maxim1592 Паскаль 5 28.05.2014 19:37
Найти максимальный элемент матрицы А (5*5) replaced Помощь студентам 1 21.01.2014 23:01
создать массив по формуле,найти максимальный элемент. отсортировать по уменьшению,последний отрицательн элемент заменить наиболшим сергей-верига Помощь студентам 2 16.01.2014 15:25


01:54.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru