Форум программистов, компьютерный форум, киберфорум
Наши страницы

Подскажите, как дописать одну функцию для моего Дерева пожалуйста - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести на экран числа после 1 http://www.cyberforum.ru/cpp-beginners/thread980453.html
Есть программа для перевода числа в двоичный код! Мне нужно чтобы на экран выводило числа начиная с первой единицы! Пример Я ввожу число 842 и мне выводит : 00000000000001101001010 Мне нужно что...
C++ Перестановки Даны символы, например ABCDEF, и число n. Нужно вывести все возможные комбинации перестановок этих символов по n. Максимальное число комбинаций будет равно 6^n. Как реализовать алгоритм. Какой час... http://www.cyberforum.ru/cpp-beginners/thread980437.html
Проигрыватель .mp3 песен через С++ C++
Доброго времени суток! Решил попробовать написать программку которая позволила бы воспроизводить формат музыки .mp3, но не знаю с чего начать. Не могли бы вы подсказать, как правильно начать...
графика с windows.h C++
Всем доброго времени суток! Необходимо нарисовать геометрическую фигуру в консоли. Предполагаю использовать windows.h, только вот подходящей литературы нет:( фигуры элементарные, но вот никак не могу...
C++ удалить максимальный и минимальный элементы массива.ооп http://www.cyberforum.ru/cpp-beginners/thread980405.html
Дан массив действительных чисел. Удалить максимальный и минимальный элементы, найти сумму до и после удаления. Массив задаю, максимум и минимум нахожу, сумму до удаления тоже считается. А как ...
C++ Шаблон класса Есть класс телефонный номер - #ifndef NUMBERR_H #define NUMBERR_H class numberr { int phone; public: int phone3; int add_number(); ~numberr(); }; подробнее

Показать сообщение отдельно
mugen0202
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 30

Подскажите, как дописать одну функцию для моего Дерева пожалуйста - C++

17.10.2013, 22:32. Просмотров 196. Ответов 0
Метки (Все метки)

Осталось совсем немного дописать. Помогите пожалуйста.По заданным значениям "х" рассчитать число всех узлов с глубиной "х" в заданном дереве. Весь код компилируется, но функция sum работает неправильно ка-то. Она не считает количество узлов.
#include <iostream>
#include <conio.h>
using namespace std;

struct Node
{
int x;
Node *l,*r;
};

void show(Node *&Tree)
{
if (Tree!=NULL)
{
show(Tree->l);
cout<<Tree->x;
show(Tree->r);
}
cout << Tree->x << " [" << Tree << " left: " << Tree->l << " right: " << Tree->r << "]\n";
}

void add_node(int x,Node *&MyTree)
{
if (MyTree)
{
if (x < MyTree->x)
add_node(x, MyTree->l);
else
add_node(x, MyTree->r);
} else {
MyTree=new Node;
MyTree->x=x;
MyTree->l=MyTree->r=NULL;
}
}
int sum (Node *&Tree,int x)
{
if (Tree==NULL)
return 1;
else
{

for (int i=0;i<x;++i)
(sum(Tree->l,--x)+ sum(Tree->r,--x));
return (sum(Tree->l,--x)+ sum(Tree->r,--x));


}

}
void DeleteTree(Node *Tree)
{
if (Tree)
{
DeleteTree(Tree->l);
DeleteTree(Tree->r);
delete Tree;
Tree = NULL;
}
}
int main()
{
Node *Tree=NULL;
int z,k;
cin >> z;
for (int i=0;i<z;i++)
{
cin >> k;
add_node(k,Tree);
}
show(Tree);
DeleteTree(Tree);
cin.get();
getch();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru