Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить номера тех столбцов,элементы которых имеют совпадающие значения https://www.cyberforum.ru/ cpp-beginners/ thread849064.html
Задана матрица A с 2 строками и 35 столбцами. Определить номера тех столбцов,элементы которых имеют совпадающие значения. Решите пожалуйста...
Найти количество разных чисел среди элементов массива. C++
Дано масив А. Найти количество разных чисел среди элементов этого массива.
Задана матрица A с 2 столбцами и 20 строками C++
Задана матрица A с 2 столбцами и 20 строками. 1-элемент каждой строки представляет абсциссу, а 2-й - ординату одной из 20 точек на плоскости. Определить координаты тех точек, которые расположены в...
C++ Приведение void* к типу указателя на структуру Тема обсуждалась здесь, но решения так и нет нормального Есть два (и более, хоть до 20) линейных списков и функция обхода списка В функцию передаю указатель на вершину одного из списков Есть ли... https://www.cyberforum.ru/ cpp-beginners/ thread849020.html
C++ Есть ли разница между MyClass *c = new MyClass() и MyClass *c = new MyClasss; https://www.cyberforum.ru/ cpp-beginners/ thread849013.html
Собственно, что происходит, когда создаёшь объект класса без скобок в название после new?
C++ Изменить функцию в обратном порядке
Как изменить функцию в обратном порядке? вот функция в которую подаёшь вектор состоящий из 8ми элементов и она возвращает элемент типа char, в которую забиты 0 и 1. char ber(vector <bool> fg) {...
C++ Перевести программу на С++
Помогите перевести программу на С++. Программа на определение, является ли строка последовательностью идущих подряд шестнадцатеричніх чисел. Заранее огромное спасибо. uses crt; const...
C++ Одномерный массив Привет. Подскажите, каким образом написать одномерный массив: У вас есть доллары. Вы хотите обменять их на рубли. Есть информация стоимости купли-продажи в банках города. В городе N банков.... https://www.cyberforum.ru/ cpp-beginners/ thread848999.html
C++ Библиотеки для программы https://www.cyberforum.ru/ cpp-beginners/ thread848997.html
Какие библиотеки нужно подключить? #include "stdafx.h" #include <iostream> using namespace std; int main() {
C++ Пяти мерный динамический массив Ребят помогите сделать пяти мерный динамический массив, я просто не в курсе как это делать. https://www.cyberforum.ru/ cpp-beginners/ thread848996.html
1 / 1 / 1
Регистрация: 19.05.2012
Сообщений: 13
0

Нужно разобраться в коде

26.04.2013, 10:40. Просмотров 451. Ответов 3
Метки (Все метки)

Откомментируйте пожалуйста по строчке ,кто ,что может,а то не могу разобраться,это программа обход бинарного дерева в глубину справа налево
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
// semestr.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
struct Info
{
    int number;
    int data;
};
ifstream in("input.txt"); // файл откуда считываем
Info dd[10]; //массив структур, содержащий номера вершин и их значения
struct derevo{            //структура дерево
int info;
derevo *left, *right;
};
void Createderevo(derevo *&go, int n)  // построение из входного файла
{
    setlocale ( LC_ALL,"Russian" );
    if(n==1){
    go = new derevo;
    in >> go -> info;
    go -> right = NULL;
    go -> left = NULL;
    }
    else
    {
        go = new derevo;
        int nl = n/2;
        int nr = n - nl - 1;
        if(nl==0)
            go -> right = NULL;
        else
            Createderevo(go -> right,nl);
        if (nr == 0)
            go -> left = NULL;
        else
            Createderevo(go -> left,nr);
        in >> go -> info;
    }
}
int i = 0;
void pp(derevo *curr)  // корень, левая, правая.
{
    if (!curr)
        return;
    dd[i].data=curr->info;
    dd[i].number=i+1;
    i++;
    pp(curr->left);
    pp(curr->right);
}
int main()
{
    derevo *mm; //дерево
    Createderevo(mm,10); //создаем дерево, заполняем
    pp(mm); //обход дерева
    for(int j = 0; j < 10; j++) // номера и значения вершин на экран
    {
        cout<<"Вершина: "<<dd[j].number<<" "; //номер
        cout<<"Значение: "<<dd[j].data<<endl;  //значение
    }
    system("pause");
    return 0;
}


Вернуться к обсуждению:
Нужно разобраться в коде
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2013, 10:40
Готовые ответы и решения:

Нужно разобраться в коде
Написать программу, которая в произвольном текстовом файле определяет количество предложений и...

Нужно разобраться в коде
Господа, я новичок. Хочу разобраться в коде. Задача была изменить размер консольного окна. И,...

нужно разобраться в коде
Определить минимальный положительный элемент главной диагонали матрицы А(5,5) и заменить все...

Нужно разобраться в коде: палиндромы в лексикографическом порядке
void nextSequence(string &amp;sequence, int k) { int i = sequence.size() - 1; while (i &gt;= 0 &amp;&amp;...

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