М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
салонки
салонки
06.03.2022 05:24 •  Информатика

Пусть A — массив, состоящий из N элементов. Обозначим его максимальное и минимальное значение как max и min соответственно. Вычислим сумму элементов S, S=A0+A1+…+AN-1. Заменим каждый элемент массива на разницу S и этого элемента: Ai:=S-Ai,. Такое преобразование массива A назовем операцией Confuse. Напишите программу, которая по массиву B, полученному в результате K–кратного применения операции Confuse к некоторому массиву A, вычислит разность max-min.

Формат входных данных
Первая строка входного файла содержит целые числа N и K, где N — количество элементов массива B (2 ≤ N ≤ 10000), а K — количество применений операции Confuse к начальному массиву A, 1 ≤ K ≤ 100.

Вторая строка файла содержит N элементов массива B. Элементы массива B — целые числа, по модулю не превосходящие 2×109.

Формат выходных данных
Единственная строка выходного файла должна содержать целое число - разность max и min.

входные данные
4 2
45 52 47 46

2002 1
-2638 -11902 -18492 7172 -15757 15640 -742 18059 -16512 9305 -17274 -1772 19283 -11129 15626 7485 -533 -10941 18999 -12963 7347 19167 7364 -13877 -3170 12602 15076 17923 -310 115 -8340 8509 13693 434 -15090 2620 312 -17933 -9557 9952 836 -9948 -13504 15760 -447 -8656 12725 19510 -17191 12657 11703 -14682 -17312 4452 11944 7953 -5979 4868 11124 18105 -6468 -2693 18316 10735 -10172 -4546 13930 207 13013 -10541 6168 5960 12637 7048 -17307 -7515 12782 3302 16295 -12647 12990 -7142 3260 -18974 -16201 18292 13284 -7771 5663 8396 9559 -17388 19937 169 -2120 4460 765 18192 3474 -14806 16556 5185 14314 12440 -10182 17509 9673 3360 -15886 -698 12653 -17937 -13135 -10929 5458 8800 16766 -7570 6142 -15312 4555 14779 -14397 15778 -4076 7638 3551 104 5238 -17581 2208 1599 -11103 5366 -3490 -5502 -12941 7399 19530 -17918 -17550 2658 1870 -6565 5058 9451 -16170 2026 -8587 -12630 -976 -10188 7253 4356 -11768 671 -17731 -12605 2269 6839 5741 -9329 12544 -7819 11752 14877 -11859 -4005 -17213 -8563
выходные данные
7

39947

👇
Открыть все ответы
Ответ:
polina12318
polina12318
06.03.2022

Первое решение понятно, но это только общие мысли, в целом оно ошибочно по двум пунктам

1. В задании идёт речь о 20 веке, а это года 1901,19022000. Поэтому в объявлении массива нужно указать именно эти интервалы. Или просто 1 - 100, понятно же, что это один век, а при отображении года следует отображать (1900+i). 

2. В задании не определено, с какой точностью это самое население считается, если с точностью до человека, то INTEGER не хватит, поэтому этот вопрос нужно уточнить и в зависимости от точности (до тысяч, до десятков или сотен тысяч человек) выбрать соответствующий формат представления данных.

3. Странно писать 100 одинаковых операторов присваивания(кстати в тексте ещё ошибка - присваивается ОДНО И ТО ЖЕ значение, ведь оператора ввода данных НЕТ!).

Такие вещи делаются в цикле по индексам. Внутри цикла 2 оператора 

Ввод()

Присваивание

Опять же в задании не сказано, откуда берутся данные, ведь они могут браться с клавиатуры, с внешнего устройства(диска) или с какого-нибудь другого устройства ввода, например, сканера. Эти вводы реализуются похожими, но РАЗНЫМИ операторами.

 

Вот мои замечания, хотя, если формально точно реализовывать предложенное задание, нужно всего лишь описать массив, в котором будут храниться некоторые данные. В этом случае действительны лишь замечания 1 и 2. 

 

И ещё. Я не помню, что такое INTEGER. INTEGER 2-байтный точно не хватит, INTEGER 4-байтный должно хватить.

Успехов!

4,6(90 оценок)
Ответ:
eleniuuum
eleniuuum
06.03.2022

Первое решение понятно, но это только общие мысли, в целом оно ошибочно по двум пунктам

1. В задании идёт речь о 20 веке, а это года 1901,19022000. Поэтому в объявлении массива нужно указать именно эти интервалы. Или просто 1 - 100, понятно же, что это один век, а при отображении года следует отображать (1900+i). 

2. В задании не определено, с какой точностью это самое население считается, если с точностью до человека, то INTEGER не хватит, поэтому этот вопрос нужно уточнить и в зависимости от точности (до тысяч, до десятков или сотен тысяч человек) выбрать соответствующий формат представления данных.

3. Странно писать 100 одинаковых операторов присваивания(кстати в тексте ещё ошибка - присваивается ОДНО И ТО ЖЕ значение, ведь оператора ввода данных НЕТ!).

Такие вещи делаются в цикле по индексам. Внутри цикла 2 оператора 

Ввод()

Присваивание

Опять же в задании не сказано, откуда берутся данные, ведь они могут браться с клавиатуры, с внешнего устройства(диска) или с какого-нибудь другого устройства ввода, например, сканера. Эти вводы реализуются похожими, но РАЗНЫМИ операторами.

 

Вот мои замечания, хотя, если формально точно реализовывать предложенное задание, нужно всего лишь описать массив, в котором будут храниться некоторые данные. В этом случае действительны лишь замечания 1 и 2. 

 

И ещё. Я не помню, что такое INTEGER. INTEGER 2-байтный точно не хватит, INTEGER 4-байтный должно хватить.

Успехов!

4,4(40 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ