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

Функция подсчета четных элементов бинарного дерева - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как проверить существование файла? http://www.cyberforum.ru/cpp-beginners/thread1496490.html
как проверить существование файла? мне нужно для условия Добавлено через 1 минуту работает: bool FileExists(const char *fname) { return access(fname, 0) != -1; }
C++ Хранение ссылок на файловые потоки Добрый вечер. Столкнулся с ошибкой C2280 - невозможность использовать конструктор копирования для ifstream. Пытаюсь заполнить приоритетную очередь парами вида <std::string, std::ifstream&>, но при добавлении в очередь нового элемента возникает ошибка (строка 12). Не могу понять, почему, ведь в контейнер должна помещаться ссылка, а не объект. std::vector<std::ifstream> fileStreams; ... http://www.cyberforum.ru/cpp-beginners/thread1496467.html
Задачи С++ C++
Привет всем экспертам! Вот и настал тот день, когда заканчивается летняя практика, за время которой, благодаря своей легкомысленности и неспособности схватывать налету, ты так и не смог приобрести необходимые знания и не научился уверенно шарить в С++, а с тебя тут строго требуют индивидуальные задания...В общем вот список: Контрольная работа по теме «Массивы» 3. Решить задачу:...
В двумерном массиве определить среднее арифметическое каждого столбца и максимум и минимум каждой строки C++
Дан двухмерный массив 5x6 . Определить среднее арифметическое каждого столбца, определить максимум и минимум каждой строки.
C++ Своя обёртка над std::string http://www.cyberforum.ru/cpp-beginners/thread1496393.html
Добрый вечер, пишу парсер и часто пишу такого рода участки кода std::string QWE = node; QWE += "/"; std::string::size_type q1 = res.find(node); res.erase(q1, QWE.size()); std::string::size_type q2 = res.find(".png"); res.erase(q2, 4);
C++ Проверка делимости 1,11,111,.,11.1 на их позиции Дана последовательность из чисел (последовательность из единиц): 1, 11, 111, ..., 11..1. (до N) Требуется определить делимость числа на его порядковый номер и записать в массив 0 или 1. Я написал решение, но с проблемами. Вот мой код: #include <iostream> #include <string> #include <stdlib.h> #include <sstream> подробнее

Показать сообщение отдельно
Max Dark
шКодер самоучка
1682 / 1483 / 537
Регистрация: 09.10.2013
Сообщений: 3,357
Записей в блоге: 8
Завершенные тесты: 2
10.07.2015, 10:02     Функция подсчета четных элементов бинарного дерева
самое простое - рекурсивный обход
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
strucn node {
    int value;
    node* left, *right;
    node(int v, node* l, *r):value(v), left(l), right(r) {}
};
//...
template<class Functor>
size_t tree_count_if(const node* root, Functor f) {
    return root == NULL ? 0 :
        + (f(root->value) ? 1 : 0)
        + tree_count_if(root->left,  f)
        + tree_count_if(root->right, f);
}
node* tree;
//...
auto c = tree_count_if(tree, [](int v){ return 0 == (v % 2); })
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru