#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;
}
Поделитесь своими знаниями, ответьте на вопрос:
"i := 0 to 10" - это начальное и конечное значения (ноль и десять)
т.е. начинаем с нуля, что-то делаем, и берем следующее число - "1"
потом снова что-то делаем, берем следующее - "2"
в "i" - записывается то число, с которым работаем в данный момент
и так, пока не дойдем до "10"
а вот что именно делать - написано между словами "begin" и "end"или сразу после "do" (если строка одна)
1) Можно представить несколько клеток с номерами (A0...A10) и числами в них
а в квадратных скобках "[i]" - номер клетки
Берем ноль, A[0] - "ячейку с номером 0" и записываем туда число 10
A[i] := 10 - i;
A[0] = 10 - 0 (в А0 записать 10)
далее в A[1] записываем "9" (10 - 1)
в A[2] записываем "8" (10 - 2)
и так до десяти включительно
2)далее цикл от 0 до 5
A[10-0] = A[5-0] (из десятой клетки записываем число в пятую)
A[5+0] = A[0]
A[10-1] = A[5-1] (из 9ой в 4)
A[5+1] = A[1] (из 6ой в 1)
A[10-2] = A[5-2] (8 -> 3)
A[5+2] = A[2] (7 -> 2)
и т.д. и т.п.
3)как-то так должно работать (следующий столбец - следующее число)