Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Вычислить номер минимального по модулю элемента и сумму модулей элементов, расположенных после первого отрицательного Добрый день. Прошу Вашей помощи. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) номер минимального по модулю элемента массива; 2) сумму модулей элементов массива, расположенных после первого отрицательного элемента. https://www.cyberforum.ru/ cpp-beginners/ thread1146194.html C++ Определить, сколько из чисел больше своих «соседей»
Определить, сколько из чисел больше своих «соседей» .Но нужно решить эту задачу с использование ввода из файла. Заранее спасибо
C++ Написать программу, которая методом обмена "пузырька" сортирует по убыванию введенный с клавиатуры одномерный массив https://www.cyberforum.ru/ cpp-beginners/ thread1146189.html
...написать программу, которая методом обмена "пузырька" сортирует по убыванию введенный с клавиатуры одномерный массив
C++ обработка матриц с использованием процедур Даны три матрицы размерностью 3*4. Найдите для каждой из них максимальный и минимальные элементы, используя процедуру. Вывести матрицы, у которой наибольший максимальный и наименьший минимальный элементы. https://www.cyberforum.ru/ cpp-beginners/ thread1146174.html
C++ Некорректный результат в цикле
По словам препода в чем то ошибка. на первом фото условие, на втором 4 вариант. #include <stdio.h> #include <math.h> #include <conio.h> #include <stdlib.h> int main(void) { double s,x,a,k; s = 0;
C++ Заготовка на зиму https://www.cyberforum.ru/ cpp-beginners/ thread1146157.html
Помогите решить такую задачу, а то никак...) Ежегодно Совунья заготавливает на зиму компоты для себя и своих друзей. Фрукты, которые она использует для этого, растут на том же дереве, где находится ее домик. Все было бы хорошо, если бы ее дерево не росло, а вместе с ним не увеличивались бы урожаи фруктов. В один прекрасный вечер, заготавливая компоты, она поняла, что просто не справляется с...
C++ Eclipse поставляется без компилятора? Когда изучал JAVA, то просто качнул эклипс и там писал и копилировал. Сейчас решил вспонить С/С++ , качнул с офф сайта эклипс для С++ (Eclipse IDE for C/C++ Developers Eclipse IDE for C/C++ Developers). НАписано что туда уже входить C/C++ Development Tools. Создаю новый проект, например, встроенный туда ХЕЛЛО ВОРЛД. создаётся .cpp и .h нажимаю билд или компил, пишет что не найден бинарный файл. Я... https://www.cyberforum.ru/ cpp-beginners/ thread1146156.html C++ Сортировка Шелла
Поделитесь пожалуйста исходником программы которая сортирует одномерный массив методом Шелла, что бы количество и значение элементов массива вводилось пользователем с клавиатуры. p.s. На гугле забанили :)
C++ Программа выводящая строку наоборот https://www.cyberforum.ru/ cpp-beginners/ thread1146089.html
Необходимо сделать программу, с функцией, сперва меняющей местами первую и последнюю букву строки, после вторую и т.д. Функция main() должна вызывать эту функцию и выводить готовую строку. Главное условие: не пользоваться специальными функциями, а создать собственную. Вот программа, которая не выводит готовую строку, что я сделал не так? #include <iostream> #include <cstdio> #include...
C++ Поток из не статического метода https://www.cyberforum.ru/ cpp-beginners/ thread1146085.html
try{ _Running = true; iret = pthread_create(&_ThreadRunClient, NULL, Run_Client, 0); //pthread_join(_ThreadRunClient, NULL); }catch (exception& e){ Run_Client() - статичный метод, получилось так, что его надо сделать не статичным. Из-за этого создание потока выдает ошибку NMClient.cpp: In member function ‘void...
C++ Циклы
Как написать программу, в которой нужно сложить значения получаемые в цикле? z=sin(\sum_{3}^{10}(a*k+c)) a,c известны
C++ Есть код, нужно перевести на долее понятливый(простой язык) https://www.cyberforum.ru/ cpp-beginners/ thread1146073.html
#include <stdio.h> #include <locale.h> #define N1 8 #define N2 9 bool isascend(int* pn, int n); int main() {
0 / 0 / 0
Регистрация: 12.04.2014
Сообщений: 4
0

Работа с элементами бинарного дерева вещественных чисел. Среднее геометрическое всех элементов дерева - C++ - Ответ 6034924

12.04.2014, 15:12. Показов 1521. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Класс TreeDouble, для работы с элементами бинарного дерева вещественных чисел.
В этом классе определены функции-члены класса, обеспечивающие: заполнение дерева, добавление элементов дерева, удаление элемента дерева.
Дополнительно перезагружены в этом классе операторные функции, которые обеспечивают ввод/вывод элементов класса (в том числе и в алфавитном порядке).
Так-же нужно определить операторную функцию / , которая возвращает среднее геометрическое всех элементов дерева.




___________
TreeDouble.h |
___________|

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
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <fstream>
using namespace std;
 
//  Вспомогательный класс, описывающий один узел:
class TreeNode
{
private:
    friend class TreeDouble;  //     Основной класс должен быть объявлен дружественным, чтобы он имел доступ к элементам узла 
    //  Элементы данных:
    double data;
    TreeNode* LeftPtr;
    TreeNode* RightPtr;
    
public:
    //  Конструктор:
    TreeNode(double d)
    {data = d; LeftPtr = NULL; RightPtr = NULL;}
};
 
//   Основной класс:
class TreeDouble
{
 
private:
    TreeNode* rootPtr; //    указатель на корневой узел (элемент данных)
    //  закрытые функции:
    void Add(TreeNode*&,double); // добавляет новый элемент
    void preOrder(TreeNode*);  //   Обход в ширину
    void inOrder(TreeNode*); //     Последовательный обход
    
public: 
    TreeDouble() {rootPtr = NULL;}  // Конструктор
    // открытые функции, которые будет использовать главная программа:   
    void Add( double);
    void preOrder();
    void inOrder();
    void postOrder();
};
 
// Определение функций:
 
void TreeDouble :: Add(double m)    //Функция, которая добавляет узел к дереву
{
    Add(rootPtr, m);  //Здесь и далее перегрузка функций требуется,т.к. главная программа не имеет доступа к корневому узлу дерева,поэтому единственное назначение этого вызова функции Add()–передать адрес корневого узла
}
 
 
void TreeDouble :: Add(TreeNode*& ptr, double m)    //Основная функция, которая обходит дерево и привязывает новый узел к дереву
{
    if (!ptr) // Если текущий указатель равен 0, к нему подвязываем новый узел или создаем корневой 
        ptr = new TreeNode(m);  //благодаря тому,что параметр ptr объявлен как ссылка на указатель,уста-навливается значение указателя на корневой узел или изменяется значение указателя в том узле,к которому привязывается новый
    else
    {
        if (m < ptr->data) Add(ptr->LeftPtr, m);    //  если новый элемент меньше значения в текущем узле, идем налево 
        else if (m > ptr->data) Add(ptr->RightPtr, m);      //  в противном случае - направо
 
        // если встречается повторяющееся значение, то оно  игнорируется, благодаря этому все элементы дерева будут различны 
    }
}
 
// три нижеследующие функции отличаются только последовательностью выполнения операторов и благодаря этому позволяют выводить элементы дерева на экран в различном порядке:
 
// обход дерева “по ширине”
void TreeDouble :: preOrder()
{
    preOrder(rootPtr);
}
 
void TreeDouble :: preOrder(TreeNode* ptr)
{
    if (ptr)
    {
        cout << ptr->data << " "; // выводим элемент
        preOrder(ptr->LeftPtr); // спускаемся влево
        preOrder(ptr->RightPtr); // спускаемся вправо
    }
}
 
// обход в порядке возрастания:
void TreeDouble :: inOrder()    
{
    inOrder(rootPtr);
}
 
void TreeDouble :: inOrder(TreeNode* ptr)   
{
    if (ptr)
    {
        inOrder(ptr->LeftPtr);
        cout << ptr->data << " ";
        inOrder(ptr->RightPtr);
    }
}
________
main.cpp |
________|
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
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <fstream>
#include "TreeDouble.h"
using namespace std;
 
int main()
{
    //Настройки шрифтов и региональных стандартов: 
    if(SetConsoleCP(1251)==0)
    //проверка правильности установки кодировки символов для ввода
    {
        cerr<<"Fialed to set codepage!"<<endl;
    }
    if(SetConsoleOutputCP(1251)==0)//тоже самое для вывода
    {
        cerr<<"Failed to set OUTPUT page!"<<endl;
    }
    TreeDouble tree; // Объявляем объект
    double x;
// Открываем файл с данными:
    cout<<"\nВведите адрес файла: ";
    char s[20]; 
    cin>>s;
    cout<<endl;
    ifstream file(s , ios::in);
    if (file)
    {
        cout << "Прочитана последовательность: \n";
        do
        {
            file>>x;
            if (!file.eof())
            {
                cout << x << " ";
                tree.Add(x); // добавляем элемент к дереву
            }
        } while (!file.eof());
        cout<<endl;
 
        cout <<"Обход в ширину: \n";
        tree.preOrder();
        cout<<endl;
 
        cout <<"Отсортированная последовательность: \n";
        tree.inOrder();
        cout<<endl;
 
        cout <<"Обратная последовательность: \n";
        tree.postOrder();
        cout<<endl;
 
    }
    else cout << "Файл не найден\n";
    _getch();
    return 0;
}


Помогите пожалуйста с тем, что выделено красным цветом

Вернуться к обсуждению:
Работа с элементами бинарного дерева вещественных чисел. Среднее геометрическое всех элементов дерева C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.04.2014, 15:12
Готовые ответы и решения:

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

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

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

Найти среднее арифметическое всех элементов дерева
Найти среднее арифметическое всех элементов дерева. Есть код, но он ищет сумму. Как его изменить?...

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

Найти среднее геометрическое ненулевых вершин дерева
Найти среднее геометрическое ненулевых вершин дерева.

Найти среднее геометрическое положительных вершин дерева
Найти среднее геометрическое положительных вершин дерева.

Запись бинарного дерева в файл и восстановление из него этого дерева
Задача такая: есть бинарное дерево. Каждый элемент дерева содержит 3 указателя - 1 указатель на...

Среднее арифметическое бинарного дерева
Здравствуйте! Необходимо найти среднее арифметическое бинарного дерева. Заранее благодарю за...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru