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

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

Показать ответ
Ответ:
1234мика
1234мика
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-бота