Сканирование без текущего в C++
Алгоритм exclusive_scan пишет в каждую
ячейку результат операции над всеми
элементами до текущего, не включая его.
Первый элемент выхода равен нейтральному
значению для операции - для суммы это 0.
Запишем вход и выведем ряд:
#include <iostream>
#include <numeric>
#include <vector>
int main() {
std::vector<int> src = {1, 2, 3};
std::vector<int> out(src.size());
std::exclusive_scan(src.begin(), src.end(), out.begin(), 0);
for (int v : out) {
std::cout << v << " ";
}
std::cout << "\n";
return 0;
}
Постройте exclusive_scan с началом 0 для {5, 1, 1} и выведите третий элемент выхода.