СРОЧНО! Помогите решить задачу по программированию на языке C++ Тема Массивы
Вычислите среднее арифметическое положительных четных элементов массива. Если в массиве нет положительных четных элементов, выведите сообщение об этом.
Нужно использовать генератор случайных чисел и динамическую память.
По дате
По Рейтингу
123
int cnt=0;
double sum=accumulate(arr.begin(),arr.end(),0, [&cnt](int a, int b){ cnt+=((b&1)&&(b>0)?0:1); return a+((b&1)&&(b>0)?0:b); });
if(cnt==0) cout<<"Not found"; else cout<<sum/cnt;
Вся программа:
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <numeric>
using namespace std;
int main(){
int n,*a,k=0; cout<<"n: "; cin>>n; srand(time(NULL)); a=new int[n];
for(size_t i=0;i<n;i++)cout<<(a[i]=rand()%199-99)<<' '; cout<<endl;
double s=accumulate(a,a+n,0,[&k](int a, int b){bool c=~b&1&&b>0; k+=c; return a+b*c;});
if(k)cout<<s/k; else cout<<"None";}
Больше по теме