#include <iostream>
int main() {
const int SIZE = 10;
bool isSence = false;
int sum = 0;
int count = 0;
int arr[SIZE];
for (int i = 0; i < SIZE; i++)
{
arr[i] = rand() % 20 - 10; // "рандомно" заполняем массив от -10 до 10
std::cout << arr[i] << "\t"; // выводим массив в консоль
if (arr[i] >= 0)
isSence = true;
}
for (int i = 0; i < SIZE; i++)
{
if ((isSence) && (arr[i] > 0))
sum += arr[i]; //sum = sum + arr[i];
count++;
}
if (isSence)
std::cout << "\nсреднее арифметическое положительных чисел = " << double(sum) / count << std::endl; // явное приведение типов
else
std::cout << "\nВ массиве нету положительных чисел или нету нулей и/или отрицательных чисел" << std::endl;
return 0;
}
20
Объяснение:
для i от 1 до 10 выполнить: A[i] = i + 1
i = 1 A[1] = 1 + 1 = 2
i = 2 A[2] = 2 + 1 = 3
i = 3 A[3] = 3 + 1 = 4
и т.д.
Т.е. элементы массива принимают значения от 2 до 11
для i от 2 до 10 выполнить: A[i] = A[i - 1]
A[1] = 2
i = 2 A[2] = A[2 - 1] = A[1] = 2
i = 3 A[3] = A[3 - 1] = A[2] = 2
i = 4 A[4] = A[4 - 1] = A[3] = 2
и т.д.
Т.е. все элементы массива становятся равными 2
s = 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 = 2 * 10 = 20