В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
vadimfarxudinov
vadimfarxudinov
23.03.2022 04:09 •  Информатика

На c++ дана последовательность целых чисел a1, a2, a3, an, заканчивающаяся числом 0 (само число 0 в последовательность не входит, то есть ai≠0). требуется вывести на экран числа этой последовательности, которые были больше среднего арифметического. формат входных данных программе дается последовательность целых чисел. гарантируется, что объём входных данных не превышает 1 мб. все числа по модулю не превосходят 230. формат выходных данных требуется вывести в первой строке количество чисел больших среднего арифметического, а затем во второй строке сами эти числа через пробел.

Показать ответ
Ответ:
abroe
abroe
07.10.2020 17:59
#include <bits/stdc++.h>

using namespace std;

int main()
{
    vector<int> 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<int> 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] << ' ';
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота