Предмет: Информатика,
автор: Vertos26122006
НА C++
Дана последовательность целых чисел a1, a2, a3, ..., an, заканчивающаяся числом 0 (само число 0 в последовательность не входит, то есть ai≠0).
Требуется вывести на экран числа этой последовательности, которые были больше среднего арифметического.
Программе дается последовательность целых чисел. Гарантируется, что объём входных данных не превышает 1 Мб. Все числа по модулю не превосходят 230.
Требуется вывести в первой строке количество чисел больших среднего арифметического, а затем во второй строке сами эти числа через пробел.
входные данные выходные данные
2
7
3
5
6
0
3
7 5 6
НА С++
Ответы
Автор ответа:
1
Ответ:
#include <iostream>
#include <vector>
using namespace std;
bool f(int n) {
for (int i = 2; i <= sqrt(n); i++)
if (n % i == 0)
return false;
return true;
}
int main() {
int a,n=0,n2=0,sum=0;
string res="";
do {
cin >> a;
if (a != 0) {
sum += a;
n++;
if (float(a) > float(sum) / float(n)) { n2++; res += (a + '0'); res += ' '; };
}
} while (a!=0);
cout <<endl<< n2<<endl;
cout << res;
}
Объяснение:
Похожие вопросы
Предмет: Английский язык,
автор: Ксю089
Предмет: Английский язык,
автор: Marisha0109
Предмет: Русский язык,
автор: gariny
Предмет: Математика,
автор: Умид05
Предмет: Литература,
автор: 1234769