Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 3
1

Дано N-дерево. Удалить самый высокий лист в дереве

04.06.2015, 23:47. Показов 1354. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано N-дерево. Удалить самый высокий лист в дереве.
добрые, подскажите, пожалуйста. никак не могу сообразить. облазила кучу сайтов, а толку 0. Может кто-нибудь подскажет. Само дерево я ввела, а вот дальше как...очень надеюсь на вашу помощь

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
#include "stdafx.h"
#include <iostream>
#include <clocale> 
#include <windows.h>
#include <stdlib.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 ()
{   
    using std::setlocale;
    setlocale(LC_ALL, "");
    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);
system ("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2015, 23:47
Ответы с готовыми решениями:

Удалить самый высокий лист в дереве
Помогите, пожалуйста, написать прогу на C++. Удалить самый высокий лист в дереве. Задача на...

Дано N-дерево. Удалить самый низкий лист(листья)
Нашел в сети вот такой код, пишут что он рабочий, но у меня при компиляции выдает ошибку на 197...

Включить в программу функцию, возвращающую true, если самый высокий ученик имеет и самый большой все, и fal
Включить в программу функцию, возвращающую true, если самый высокий ученик имеет и самый большой...

Условие: Кто из мальчиков самый высокий, а кто самый низкий?
даны числа p,q,r- рост Пети Кости и Ромы соответственно.Кто из мальчиков самый высокий кто самый...

0
04.06.2015, 23:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2015, 23:47
Помогаю со студенческими работами здесь

Составить файл об информаций студентов в группе. Найти самый высокий и самый низкий уровень успеваемости студентов в группе
блииин ничего непонела !!на языки С нужно написать программу на тему ввод и ввывод файловых...

Кто из студентов самый высокий?
По данным сведениям о студентах группы определить среднюю массу юношей и средний рост девушек. Кто...

Определить самый высокий рост спортсмена
помогите решить задачу! 1)определить самый высокий рост спортсмена,в соревнованияя участвовало 50...

Найти в массиве самый высокий пик
Задачка: Дан массив, содержащий 2015 неотрицательный целых чисел. Необходимо найти в массиве самый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru