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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mugen0202
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 30
#1

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

17.10.2013, 22:32. Просмотров 182. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2013, 22:32     Подскажите, как дописать одну функцию для моего Дерева пожалуйста
Посмотрите здесь:

как мне в функции main() объявить функцию Do (), подскажите пожалуйста, на таком глупом застрял - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;conio.h&gt; #include &lt;clocale&gt; #include &lt;math.h&gt; using namespace std; class Tem; ...

Написать функцию для печати дерева - C++
Функцию печати для дерева. Важен порядок,печать узлов по уровням слева на права.нужен фрагмент программы.

пожалуйста подскажите для ЭКЗАМЕНА - C++
Здравствуйте, меня на экзамене завалили, а я в си++ новичок и пока что не соображаю особо. помогите пожалуйста это решить. я не понимаю как...

Как одну функцию использовать в двух проектах - C++
Есть функция которую нужно вызывать в двух проектах Я поместил ее в отдельный .cpp файл Проблема в том что в двух разных проектах...

Пожалуйста, подскажите, что нужно для работы с TPoint? - C++
Добрый день! Пожалуйста, подскажите, что нужно для работы с TPoint? Я подключил windows.h, работа с регионом стала доступна, но TPoint...

нужно разобрать всего одну функцию как она работатет - C++
void matrixsqr(int **a, int N, int M) // Интовая версия { int *p, **r; // Указатель for (r=a+N-1; r&gt;=a; --r) // Цикл со...

Пожалуйста подскажите как правильно! - C++
Получите целочисленную матрицу A размеров nxm, для которой aij=i+2j

Подскажите как делать,пожалуйста - C++
Вот задачка,сколько сижу думаю над ней,не понимаю=( 1)Соседями элементами Аij в матрице назовем элементы Аkl(внизу) c...

Подскажите пожалуйста по программе для вычисления площади выпуклого четырехугольника - C++
Вот написал прогу, но в ней что-то не работает. Пожалуйста подскажите, что не так??? #include &quot;stdafx.h&quot; #include &quot;iostream&quot; ...

Библиотека для распознавания изображений. Простая и быстрая. Подскажите пожалуйста - C++
Добрый день. Возникла необходимость программно распознавать некие области на изображении. Суть в следующем: делается скрин экрана...

подскажите пожалуйста как создать клас - C++
Здравствуйте у меня собственно такой вопрос как в С++ создать клас а потом его вызвать.роботам с Визуал Студия У меня просто такое задание...

Подскажите пожалуйста как правильно расспечатать - C++
Всем привет! Как правильно расспечатать? void fun(void ** vaddr){ printf(&quot;%p&quot;, *(int*)vaddr); } Так будет...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru