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

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

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

Бинарное дерево без дерева C++ - C++

19.11.2014, 20:28. Просмотров 262. Ответов 0
Метки нет (Все метки)

На вход подается описание бинарного дерева. На листьях (висячих вершинах) этого дерева написаны целые числа (от -106 до 106). Идем от корня дерева, случайно поварачивая направо или налево (с вероятностями 0.5).

Чему равно cреднее значение числа на листе, в который мы в конечном счете придем? Ответ вывести с точностью до двух знаков после запятой.

Грамматика дерева:

tree -> leaf

tree -> (tree tree)

leaf -> integer

Можно решить без дерева, т.к подаваться будет что-то типа: (21 32(1 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
#include <iostream>
#include <stack>
#include <string>
#include <stdlib.h>
#include <ctype.h>
#include <cmath>
 
 
        using namespace std;
    int main() {
        
        string str, st;
 
        int index = 0, k = 0;
        double s = 0, res = 0;
        
        char chr;
        getline(cin, str);
 
        while (index < str.length())
        {
            chr = str[index];
 
            if ((chr != '(') && (chr != ')' && (chr != ' ')))
            {
                st = chr;
                k = atoi(st.c_str()); 
                res = res + k*pow(0.5, s);
            }
 
            if (chr == '(')
            {
                s = s + 1;
 
            }
            if (chr == ')')
            {
                s = s - 1;
 
            }
            
 
            index++;
        }
        cout << round(res * 100) / 100.;
        
    }
Только вот в моем решение k это всегда цифра, а оно должно быть числом, т.е для привеенного выше примера k=21;k=32,k=1. Никак не получается это реализовать. Помогите, пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2014, 20:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Бинарное дерево без дерева C++ (C++):

Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой - C++
Дано бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой.

Бинарное Дерево(обход дерева) - C++
добрый вечер всем!) в универе задали написать бинарное дерево со всеми видами обхода и т.п. я их написал.. но еще дали 1 вывод его надо...

Бинарное дерево, расчёт суммы элементов дерева - C++
Задание: Программа должна обрабатывать бинарное дерево, содержащее целые числа. Дополнительные функции: расчёт суммы элементов дерева.

Бинарное дерево С++ (функция проверки внутренних узлов дерева) - C++
Здравствуйте. Помогите пожалуйста. Надо написать функцию,проверяющую есть ли в дереве внутренний узел, у которого только один потомок. ...

Бинарное дерево. Обход бинарного дерева (симметрический, прямой и обратный) - C++
Привет всем! Мне надо в курсовой работе написать программу, которая строит бинарное дерево (по вводимым значениям) и потом обходит это...

Бинарное дерево (передать адрес первого (корневого) элемента дерева в метод) - C++
Добрый день! Такой вопрос: Реализован шаблонный класс - бинарное дерево. Создан метод прохождения по элементам с помощью рекурсии. Не...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2014, 20:28
Привет! Вот еще темы с ответами:

Исходное бинарное дерево превратить в бинарное дерево поиска, при этом сохранив его структуру - C++
Помогите, не могу понять!( Нужно исходное бинарное дерево превратить в бинарное дерево поиска, при этом сохранив его структуру. вот...

Постройте и выведите на экран бинарное дерево. Найдите произведение элементов дерева, находящихся на уровне u - C++
Я построил дерево вот код # include &lt;iostream&gt; # include &lt;conio.h&gt; #include &lt;clocale&gt; using namespace std; //Наша структура ...

Добавление нового элемента в бинарное дерево поиска с вспомогательной функцией(без рекурсии) - C++
с реализацией этой функции с рекурсией проблем нету.но без нее уже по-сложнее(.есть функция иbool Add(int) определенная в классе Дерева,и в...

Бинарное дерево - C++
Написать программу для создания, на основе конструктора,дерева из объектов двух типов. Объекты первого типа ссылаются на два объекта....


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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