Поделитесь своими знаниями, ответьте на вопрос:
Пусть 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
Первое решение понятно, но это только общие мысли, в целом оно ошибочно по двум пунктам
1. В задании идёт речь о 20 веке, а это года 1901,19022000. Поэтому в объявлении массива нужно указать именно эти интервалы. Или просто 1 - 100, понятно же, что это один век, а при отображении года следует отображать (1900+i).
2. В задании не определено, с какой точностью это самое население считается, если с точностью до человека, то INTEGER не хватит, поэтому этот вопрос нужно уточнить и в зависимости от точности (до тысяч, до десятков или сотен тысяч человек) выбрать соответствующий формат представления данных.
3. Странно писать 100 одинаковых операторов присваивания(кстати в тексте ещё ошибка - присваивается ОДНО И ТО ЖЕ значение, ведь оператора ввода данных НЕТ!).
Такие вещи делаются в цикле по индексам. Внутри цикла 2 оператора
Ввод()
Присваивание
Опять же в задании не сказано, откуда берутся данные, ведь они могут браться с клавиатуры, с внешнего устройства(диска) или с какого-нибудь другого устройства ввода, например, сканера. Эти вводы реализуются похожими, но РАЗНЫМИ операторами.
Вот мои замечания, хотя, если формально точно реализовывать предложенное задание, нужно всего лишь описать массив, в котором будут храниться некоторые данные. В этом случае действительны лишь замечания 1 и 2.
И ещё. Я не помню, что такое INTEGER. INTEGER 2-байтный точно не хватит, INTEGER 4-байтный должно хватить.
Успехов!