A295

Задача. Даны целые числа [latex]a_{1},\ldots, a_{n}[/latex]. Наименьший член последовательности [latex]a_{1}, \ldots, a_{n}[/latex] заменить целой частью среднего арифметического всех членов, остальные члены оставить без изменения. Если в последовательности несколько членов со значением min [latex](a_{1}, \ldots, a_{n})[/latex], то заменить последний по порядку.

Тесты

Test Input Output
1 2 4 8 16 2 4 2 4 8 16 6 4
2 1 1 1 1 1 1 1 1
3 -5 5 -10 10 -10 5 5 -5 5 -10 10 0 5 5
4 2 6 9 -4 -5 7 13 2 6 9 -4 4 7 13
5 0 0 0 0 0 1 0 0 0 0 0 1
6 0 1 0 0 2 0 25 0 1 0 0 2 4 25

Код программы

 

Алгоритм

Мы считываем все числа до конца входного потока и добавляем их в вектор. В полученной последовательности мы находим минимальный элемент, а также сумму всех членов. Затем мы вычисляем их среднее арифметическое, и извлекаем целую часть. Полученное число мы помещаем в вектор на место последнего минимального элемента, после чего выводим результат.

Код программы

Related Images:

4 thoughts on “A295

  1. Нужно внести изменения в условие задачи так, чтобы вводилось не 20 элементов, а произвольное количество.
    Есть довольно серьёзная логическая ошибка. Вы ищите величину минимального элемента, а не его номер. Из-за этого у Вас появляется еще один цикл с поиском последнего по порядку элемента с найденным минимальным значением.

    • Спасибо за замечание, исправила.

  2. Молодец, зачтено.
    А с какой целью Вы завели переменную average? Вычисленное значение используется только один раз. Случайно или есть какие-то мысли?

    Кстати, многоточие кодируют так \ldots или так \cdots. В зависимости от контекста.

    • Переменная average получилась случайно. Я просто перевела в гугле, как будет «среднее арифметическое». А за многоточие большое спасибо.

Добавить комментарий