Дан массив, содержащий 2018 положительных целых чисел, не превышающих 1000. Необходимо уменьшить все элементы, которые больше 100, на одно и то же значение, при этом минимальный из них должен стать равным 100.
Напишите на одном из языков программирования программу для решения этой задачи. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. Например, для исходного массива из 5 элементов 187 112 27 95 148 программа должна вывести числа 175 100 27 95 136, по одному числу в строке (все элементы, большие 100, уменьшены на 12, минимальный из них стал равен 100).
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.
| Бейсик | Python |
|---|---|
CONST N=2018 DIM A(N) AS INTEGER DIM I, K, M AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I … END
| # кроме уже указанных # допускается использование # целочисленных переменных # k, m a = [] n = 2018 for i in range(0, n): a.append(int(input())) …
|
| Паскаль | Алгоритмический язык |
const N=2018; var a: array [1..N] of integer; i, k, m: integer; begin for i:=1 to N do readln(a[i]); … end.
| алг нач цел N=2018 целтаб a[1:N] цел i, k, m нц для i от 1 до N ввод a[i] кц … кон |
| С++ | |
#include <iostream> using namespace std; const int N=2018; int main(){ int a[N]; int i, k, m; for (i=0; i<N; ++i) cin >> a[i]; … return 0; }
| |
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.
PDF-версии: 