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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить номера тех столбцов,элементы которых имеют совпадающие значения http://www.cyberforum.ru/cpp-beginners/thread849064.html
Задана матрица A с 2 строками и 35 столбцами. Определить номера тех столбцов,элементы которых имеют совпадающие значения. Решите пожалуйста...
C++ Найти количество разных чисел среди элементов массива. Дано масив А. Найти количество разных чисел среди элементов этого массива. http://www.cyberforum.ru/cpp-beginners/thread849059.html
Задана матрица A с 2 столбцами и 20 строками C++
Задана матрица A с 2 столбцами и 20 строками. 1-элемент каждой строки представляет абсциссу, а 2-й - ординату одной из 20 точек на плоскости. Определить координаты тех точек, которые расположены в 1-й четверти координатной плоскости. Добавлено через 57 минут Вот код на паскале, помогите передать на с++ k:=0; for i:=1 to 20 do if(a>0)and(a>0) then begin writeln(i,' ',a:5:1,a:5:1);
C++ Приведение void* к типу указателя на структуру
Тема обсуждалась здесь, но решения так и нет нормального Есть два (и более, хоть до 20) линейных списков и функция обхода списка В функцию передаю указатель на вершину одного из списков Есть ли способ привести указатель к нужному типу или какой-нибудь другой способ без повтора кода? struct str1 { str1 *link; bool step() {
C++ Есть ли разница между MyClass *c = new MyClass() и MyClass *c = new MyClasss; http://www.cyberforum.ru/cpp-beginners/thread849013.html
Собственно, что происходит, когда создаёшь объект класса без скобок в название после new?
C++ Изменить функцию в обратном порядке Как изменить функцию в обратном порядке? вот функция в которую подаёшь вектор состоящий из 8ми элементов и она возвращает элемент типа char, в которую забиты 0 и 1. char ber(vector <bool> fg) { char byte = 0; for(int i = 0; i < fg.size(); ++i) { if(fg.at(i)) byte |= 1 << i; //ВОТ ЭТА СТРОКА МНЕ НЕ ЯСНА(|) ЭТО ОПЕРАНД ПОБИТОВОГО ИЛИ, А... подробнее

Показать сообщение отдельно
Саша777
1 / 1 / 0
Регистрация: 19.05.2012
Сообщений: 13

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

26.04.2013, 10:40. Просмотров 314. Ответов 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru