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

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

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

Реализовать бинарное дерево, каждому ребру которого соответствует целое число - C++

29.06.2015, 19:49. Просмотров 162. Ответов 1
Метки нет (Все метки)

Привет, студентка, прошу помощи в реализации задачи, потратила кучу времени, чтобы получилось рабочее дерево, но как дописать додуматься не могу(( Задача. Реализовать бинарное дерево, каждому ребру которого соответствует целое число (вес). Необходимо рассчитать суммарный вес ребер пути, идущего из корня в заданный лист дерева.
Прошу вашей помощи, в программировании я новичек. Буду очень признательна, если допишите функцию к существующей программе, а то мне немного сложновато пока понимать чужой код т.к. уровень ещё слишком мал, но я учусь) Заранее спасибо всем помощникам)))
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
struct Node
{
  int cell;
  Node *left, *right;
};
 
void add_node(int node, Node *&Tree){
  if (Tree == NULL){
    Tree = new Node;
    Tree->cell = node;
    Tree->left = NULL;
    Tree->right = NULL;
  }
  if (node < Tree->cell){
    add_node(node, Tree->left);
  }
  if (node > Tree->cell){
    add_node(node, Tree->right);
  }
}
 
void printTree(Node *Tree)
{
  if (!Tree)
    return;
  printf("%d", Tree->cell);
  //printTree(Tree->left);
  printTree(Tree->right);
}
 
 
 
int main()
{
  Node *Tree = NULL;
  printf("enter count elements: ");
  int count;//кол-во эл
  scanf_s("%i", &count);
  int InputNum;//числа
  for (int i = 0; i < count; i++)
    cin >> InputNum,
    add_node(InputNum, Tree);
 
  printTree(Tree);
 
 
  system("pause");
  return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2015, 19:49     Реализовать бинарное дерево, каждому ребру которого соответствует целое число
Посмотрите здесь:

Дано целое число. Найти «маленький» тип, которого достаточно для сохранения числа. C++
C++ Бинарное дерево. Поиск.
Вывести число вершин n-го уровня (Бинарное дерево поиска) C++
C++ Найти наименьшее целое положительное число K, квадрат которого превосходит N
Найти наибольшее положительное целое число n, для которого выполняется условие: C++
C++ Построить бинарное дерево, элементами которого являются числа
Реализовать функцию распознающею первое целое число в строке C++
Найти максимальное целое число, куб которого не превышает 30000 C++
C++ Нужно реализовать класс Бинарное дерево.
Бинарное дерево с шаблоном C++
C++ Найти наименьшее целое положительное число К, квадрат которого превосходит N
Построить и вывести бинарное дерево, степень всех вершин которого, кроме листьев, равна введенному числу C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Геомеханик
 Аватар для Геомеханик
518 / 325 / 253
Регистрация: 26.06.2015
Сообщений: 738
29.06.2015, 20:26     Реализовать бинарное дерево, каждому ребру которого соответствует целое число #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* суммарный вес ребер пути, идущего 
   из корня в заданный лист дерева. */
int tree_sum(const node* tr, int cell){
    int sum = 0;
    while(tr != NULL){
        sum += tr->cell;
        if(cell < tr->cell)
            tr = tr->left;
        else if(cell > tr->cell)
            tr = tr->right;
        else
            break;
    }
    return (tr != NULL) ? sum : 0;
}
Yandex
Объявления
29.06.2015, 20:26     Реализовать бинарное дерево, каждому ребру которого соответствует целое число
Ответ Создать тему
Опции темы

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