#include <iostream>
#include<conio.h>
#include "windows.h"
using namespace std;
int main()
{
float sum;
int n,count;
cout << "введите длину массива ";
cin >> n;
sum = 0;
count = 0;
float *mass = new float[n];
cout << "проинициализируйте массив" << endl;
for (int i = 0; i < n; i++)
{
cin >> mass[i];
}
for (int i = 0; i < n; i++)
{
if (mass[i] > 0)
{
sum += mass[i];
count++;
}
}
cout <<"среднее арифметическое положительных элементов массива = " << sum / count;
delete[] mass;
return 0;
}
Смотри картинку
Объяснение:
p = 23
s = 0
цикл выполняется пока р > 0
Действия в цикле:
s = s + p mod 10
p = p div 10
p = 23 s = 0 23 > 0 (да)
выполняем цикл
s = s + p mod 10 = 0 + 23 mod 10 = 0 + 3 = 3
p = p div 10 = 23 div 10 = 2
p = 2 s = 3 2 > 0 (да)
выполняем цикл
s = s + p mod 10 = 3 + 2 mod 10 = 3 + 2 = 5
p = p div 10 = 2 div 10 = 0
p = 0 s = 5 0 > 0 (нет)
не выполняем цикл
div - целочисленное деление
mod - остаток от целочисленного деления
2 / 2 = 1 целое + 0 остаток
2 div 2 = 1
2 mod 2 = 0
3 / 2 = 1 целое + 1 остаток
2 div 2 = 1
2 mod 2 = 1