#include <time.h>
#include <iostream>
using namespace std;
int average(int* ptr, int size) //Метод подсчитывает среднее арифметическое
{
int sum_positive=0; //сумма позитивных элементов
int count_positiv=0; //количество позитивных элементов
for (int i=0; i<size; i++)
{
if (ptr[i]>=0)
{
sum_positive+=ptr[i];
count_positiv++;
}
}
return (count_positiv!=0)? sum_positive/count_positiv : 0; //если кол-во позитивных элементов не равно нулю возвращаем значение иначе 0
}
void main()
{
srand(time(NULL)); //инициализация генератора случайных чисел
int N;
cout<<"Enter size N : ";
cin>>N; //Ввод размерности массива
int* B = new int[N]; //инициализируем динамический массив размером N выделяя ему память при помощи new
for (int i=0; i<N; i++) //цикл, в котором инициализируем массив случайными числами
{
B[i]=rand()%N*2-N;
}
for (int i=0; i<N; i++) //показываем элементы массива
{
cout<<B[i]<<" ";
}
cout<<"\n\nAverage of the positive elements = "<<average(B, N)<<endl; //вызов функции подсчета среднего арифметического
getchar();
getchar();
if ( B )
{
delete[] B; //Поскольку массив был определен как динамический, необходимо очистить память
}
}