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

Нужно вывести на экран содержимое самой длинной ветки бинарного дерева - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Напишите программу, которая бы делала все расчеты за нумеролога. http://www.cyberforum.ru/cpp-beginners/thread295908.html
Нумеролог (Время: 1 сек. Память: 16 Мб Сложность: 24%) Чтобы предсказать судьбу человека, нумеролог берет время жизни человека в секундах, затем складывает все цифры этого числа. Если полученное число состоит более чем из одной цифры, операция повторяется, пока в числе не останется одна цифра. Затем по полученной цифре и числу операций, необходимых для преобразования числа в цифру нумеролог...
C++ По теме СТРУКТУРЫ Привет всем !Помогите с такой задачкой по теме СТРУКТУРЫ. 1. Создайте структуру, которая описывает сотрудника предприятия. Написать программу, которая бы выполняла следующие функции:  ввод данных о сотрудниках;  поиск информации по фамилии сотрудника;  печать всех сотрудников, которые родились в указанный месяц года;  печать информации о сотрудниках, у которых рабочий стаж составляет... http://www.cyberforum.ru/cpp-beginners/thread295900.html
Посмотроенеи графика в C C++
Всем привет. у меня есть код программы, которая по формуле считает точки и записывает их в 2 файла, а как теперь построить по этим 3м точкам график с учетом масштабирования, подскажите пожалуйста..
C++ Cтруктура на Borland C
Помогите пож. Вот задание Сформировать файл, имеющий след. структуру с именем STUDENT, с полями: -фамилия и инициалы -номер группы -успеваемость(массив из 5 элементов) Написать программу(создать меню), выполняющую след. действия: -ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по возрастанию номера группы -вывод на дисплей...
C++ Неверно делит длинное число на короткое http://www.cyberforum.ru/cpp-beginners/thread295857.html
Подскажите, пожалуйста, в чем ошибка l_int l_int :: operator /(l_int a) { l_int res; int i, del, n10=10, r; del=0; for (int i = length-a.length; i >= 0; i--) { r=r*n10+d;
C++ Runtime Error Доброго времени суток. Решал на первый взгляд простую задачу по распаковке строки. Если вкратце, то нужно строку вида 3A2BC преобразовать в AAABBC. Полное условие здесь Моя программа не проходит 6й тест, выдавая "Runtime Error", что есть либо обращение к несуществующем элементу массива(но проверяющий компилятор не распознает такое в с++ и просто виснет, так что это вряд ли) либо завершение... подробнее

Показать сообщение отдельно
istro2009
Сообщений: n/a
18.05.2011, 16:19     Нужно вывести на экран содержимое самой длинной ветки бинарного дерева
Сделал))
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
#include <iostream>
#include<windows.h>
using namespace std;
 
struct point
{
    int data;           //информационное поле
    point *left;        //адрес левого поддерева
    point *right;       //адрес правого поддерева
};
 
point* Tree(int x, point *p)
{
    if(!p)
    {
        p=new point;
        p->left=NULL;
        p->right=NULL;
        p->data=x;
    }
 
    else
    {
        if(p->data>x)   {p->left=Tree(x, p->left);}
        else    {p->right=Tree(x, p->right);}
    }
    return p;
}
 
void Print(point *p, int l) 
{
    if(p)
    {
        Print(p->left,l+5);
        for(int i=0;i<l;i++)
            cout<<" ";
        cout<<p->data<<endl;
        Print(p->right,l+5);
    }
}
 
 
int maxim(int *mas, int *i)
{
    int n, min, t;
    min=mas[0];
    for(n=0;n<*i;n++)
        if(mas[n]>min)
        {
            min=mas[n];
            t=n;
        }
    return t;
}
 
 
 
int getlen(point* p, int level, int *k, int *mas, int *mas2, int *i)
{
 
    if (p->left) { getlen(p->left, level + 1, k, mas, mas2, i); }
    if (p->right) { getlen(p->right, level + 1, k, mas, mas2, i); }
 
    if ((!p->left) & (!p->right))
    {
        mas[*i]=p->data;
        mas2[*i]=level; 
        (*i)++;             
    }
    return mas[*i];
            
}   
 
 
 
void main()
{
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    const int t=5;
    int n,i=0, k, s, x, f;
    int mas[t], mas2[t];
    cout<<"Задайте количество элементов дерева\n";
    cin>>n;
    point *root=NULL;
    
    for(i=0;i<n;i++)
    {
        cout<<"элемент:";
        cin>>x;
        root=Tree(x, root); 
    }
    i=0;
    Print(root,0);      
    s=getlen(root, 1, &k, mas, mas2, &i);   
    cout<<"Элемент самой длинной ветки дерева: "<<mas[maxim(mas2, &i)]<<endl;
}
 
Текущее время: 14:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru