а) Создать программный блок, который будет содержать подпрограмму для следующей обработки: > динамическое размещение вектора A с b компонентами целых чисел, считываемых с клавиатуры; > определение максимального элемента в векторе A, динамически размещаемого; > рекурсивное вычисление суммы четных компонент вектора A, динамически выделяемых; б) Напишите программу, которая будет использовать (вызывать) подпрограммы модуля, созданного в пункте а).
#include <iostream> #include <vector> using namespace std; int recurs(vector<int>& v, int i, int n, int k) { if(i == k) return n; else if(!(v[i]%2)) n++; i++; recurs(v,i,n,k); } int main() { setlocale(LC_ALL,"Russian"); vector<int> A; cout << "Введите кол-во элементов: " << endl; int b; cin >> b; cout << "Введите элементы массива: " << endl; int k; cin >> k; A.push_back(k); int max = k; for(int i = 1; i<b; i++) { cin >> k; if(max<k) max = k; A.push_back(k); } int j = recurs(A,0,0,b); cout << "Максимальный элемент: " << max << endl; cout << "Количество четных элементов: " << j << endl; return 0; } C #include <iostream> #include <vector> using namespace std; int recurs(vector<int>& v, int i, int n, int k) { if(i == k) return n; else if(!(v[i]%2)) n++; i++; recurs(v,i,n,k); } int main() { setlocale(LC_ALL,"Russian"); vector<int> A; cout << "Введите кол-во элементов: " << endl; int b; cin >> b; cout << "Введите элементы массива: " << endl; int k; cin >> k; A.push_back(k); int max = k; for(int i = 1; i<b; i++) { cin >> k; if(max<k) max = k; A.push_back(k); } int j = recurs(A,0,0,b); cout << "Максимальный элемент: " << max << endl; cout << "Количество четных элементов: " << j << endl; return 0; }