Форум программистов, компьютерный форум 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; //ВОТ ЭТА СТРОКА МНЕ НЕ ЯСНА(|) ЭТО ОПЕРАНД ПОБИТОВОГО ИЛИ, А... подробнее

Показать сообщение отдельно
Юля_программист
 Аватар для Юля_программист
449 / 104 / 14
Регистрация: 04.05.2012
Сообщений: 525
Записей в блоге: 1
26.04.2013, 11:49     Нужно разобраться в коде
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
67
// 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){//если n равно 1 то заходим сюда
    go = new derevo;//создание объекта в куче
    in >> go -> info;
    go -> right = NULL;
    go -> left = NULL;
    }
    else //если n не равно 1 идем сюда
    {
        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;
}
Добавлено через 2 минуты

Не по теме:

а вообще Вам бы быстрее помогли, если бы Вы сказали какие строчки Вам не понятны конкретно)
Т.к. код в принципе не содержит, чего то сложного, здесь все стандартные операторы, и если не понятно надо начинать с гугла.
Или более конкретно задавать вопрос:Например, не понятна логика работы

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