// algo/inner1.cpp #include "algostuff.hpp" using namespace std; int main() { list coll; INSERT_ELEMENTS(coll,1,6); PRINT_ELEMENTS(coll); /* Вычисление суммы произведений элементов * (0 + 1*1 + 2*2 + 3*3 + 4*4 + 5*5 + 6*6) */ cout << "inner product: " << inner_product (coll.begin(), coll.end(), // Первый интервал coll.begin(), // Второй интервал 0) // Начальное значение << endl; /* Вычисление суммы 1*6 ... 6*1 * (0 + 1*6 + 2*5 + 3*4 + 4*3 + 5*2 + 6*1) */ cout << "inner reverse product: " << inner_product (coll.begin(), coll.end(), // Первый интервал coll.rbegin(), // Второй интервал 0) // Начальное значение << endl; /* Вычисление произведения сумм элементов * (1 * 1+1 * 2+2 * 3+3 * 4+4 * 5+5 * 6+6) */ cout << "product of sums: " << inner_product (coll.begin(), coll.end(), // Первый интервал coll.begin(), // Второй интервал 1, // Начальное значение multiplies(), // Внутренняя операция plus()) // Внешняя операция << endl; }