Вопрос по информатике:
Задача на c++
Дана последовательность целых чисел a1, a2, a3, ..., an, заканчивающаяся числом 0 (само число 0 в последовательность не входит, то есть ai≠0). Требуется вывести на экран числа этой последовательности, которые были больше среднего арифметического.
Формат входных данных Программе дается последовательность целых чисел. Гарантируется, что объём входных данных не превышает 1 Мб. Все числа по модулю не превосходят 230.
Формат выходных данных Требуется вывести в первой строке количество чисел больших среднего арифметического, а затем во второй строке сами эти числа через пробел.
- 22.05.2018 02:15
- Информатика
- remove_red_eye 3515
- thumb_up 10
Ответы и объяснения 1
using namespace std;
int main()
{
vector a;
int cnt = 0;
double average = 0;
while (true)
{
int tmp;
cin >> tmp;
if (!tmp)
break;
cnt++;
a.push_back(tmp);
average += tmp;
}
average /= cnt;
int ans = 0;
vector b;
for (int i = 0; i < cnt; i++)
if (a[i] > average)
ans++, b.push_back(a[i]);
cout << ans << endl;
for (int i = 0; i < b.size(); ++i)
cout << b[i] << ' ';
}
- 23.05.2018 15:24
- thumb_up 34
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.