Задача с массивами

  • Автор темы wizard90
  • Дата начала
W

wizard90

Помогите написать код решения задачи.. Желательно в с++ 6.0.. Дан массив B из N элементов. Вычислить среднее значение среди положительных элементов массива B.
 
@

@LE}{@NDER

Вообще-то задача плевая, можно было бы и самому попробовать написать. Чтобы усилия не прошли даром, я детально прокомментировал код. Советую внимательно изучить его, и написать самому несколько задач пользуясь примером.

C++:
#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; //Поскольку массив был определен как динамический, необходимо очистить память
}
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!