Задача: Реализовать следующую функцию: в качестве параметров она принимает array - массив произвольной длины элементов типа int, func - указатель на функцию двух аргументов типа int, start - аргумент типа int. Данная функция должна осуществить в цикле свертку массива с помощью функции func - т.е вернуть следующее значение: func(func( ... func(func(start, arr[0]), arr[1]) ..., arr[N-1]), arr[N]). Свертка осуществляется следующим образом: берётся первый элемент массива и к нему применяется функция func(start, arr[0]). Затем к полученному результату R применяется функция func(R, arr[1]) и так далее, до последнего элемента массива. Полученный результат возвращается. Не пользоваться готовой реализацией алгоритма в STL. Написать программу, которая считывает массив с клавиатуры и с помощью функции свёртки реализует следующее задание: найти число положительных элементов массива. Ввод-вывод осуществлять с помощью библиотеки .
Также реализовать функцию свёртки как шаблон от типов , T - тип элементов массива, S - тип аргумента start.
Использовать лямба-функции во второй части задания.