Предмет: Информатика,
автор: vlad43589
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое трёхзначных чисел или сообщает, что таких чисел нет (выводит NO).
Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Программа должна вывести среднее арифметическое трёхзначных чисел или вывести NO, если таких чисел нет.
Ответы
Автор ответа:
0
#include <iostream>
#include <vector>
using namespace std;
int am_dig(int k){
int res = 0;
while(k > 0){
res++;
k /= 10;
}
return res;
}
double average(vector<double> a){
double sum = 0;
for(auto i: a)
sum += i;
return sum/a.size();
}
int main() {
vector<double> a;
double x = 1;
while(x != 0){
cin >> x;
if(am_dig(x) == 3)
a.push_back(x);
}
if(a.size() == 0)
cout << "NO";
else
cout << average(a);
}
vlad43589:
какой это язык?
Похожие вопросы
Предмет: Русский язык,
автор: altair98
Предмет: Другие предметы,
автор: оориодл
Предмет: Русский язык,
автор: Аноним
Предмет: Литература,
автор: ДарьяМордвинова
Предмет: Математика,
автор: ларллпоап