inclusive_scan из C++17 кладет в выходной диапазон накопленный результат бинарной операции до каждого элемента включительно.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpAgISc 96 of 696 menu
◀ ▶

Накопительное сканирование в C++

Алгоритм inclusive_scan из C++17 кладет в выходной диапазон накопленный результат бинарной операции до каждого элемента включительно.

Для сложения получаются те же числа, что и у partial_sum. Операцию можно заменить, например, на умножение. Запишем вектор и выведем скан:

#include <iostream> #include <numeric> #include <vector> int main() { std::vector<int> src = {1, 2, 3}; std::vector<int> out(src.size()); std::inclusive_scan(src.begin(), src.end(), out.begin()); for (int v : out) { std::cout << v << " "; } std::cout << "\n"; return 0; }

Выполните inclusive_scan для {2, 2, 2} в вектор той же длины и выведите последний элемент.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить