Найти сумму индексов в которых хранится максимальный элемент массива - Pascal ABC
Формулировка задачи:
Найти сумму индексов в которых хранится максимальный элемент массива
Решение задачи: «Найти сумму индексов в которых хранится максимальный элемент массива»
textual
Листинг программы
const m = 10;
var a: array[1..m] of byte;
i,sum_max_index, max_index: byte;
begin
max_index:=1;sum_max_index:=1;
for i := 1 to m do begin
a[i] :=random(10);
write (a[i],' ');
if a[i] > a[max_index]
then begin max_index := i;sum_max_index:=i end
else
if (a[i]=a[max_index])and(i<>1)
then inc(sum_max_index,i)
end; writeln;
writeln ('Max = ',a[max_index]);
writeln ('(sum)position: ',sum_max_index);
end.
Объяснение кода листинга программы
В данном коде объявлены следующие переменные:
- m - количество элементов в массиве (в данном случае 10);
- a - массив, в котором будут храниться данные (тип данных - byte, то есть каждый элемент массива представляет собой байт);
- i - индекс текущего элемента массива;
- sum_max_index - сумма индексов максимального элемента массива;
- max_index - индекс максимального элемента массива.
Далее в коде происходит следующее:
- Инициализируются переменные max_index и sum_max_index значением 1.
- Запускается цикл for, который проходит по всем элементам массива от 1 до m.
- Внутри цикла каждому элементу массива присваивается случайное значение от 0 до 9 (a[i] := random(10)).
- Выводится значение текущего элемента массива (write (a[i],' ')).
- Проверяется условие: если текущий элемент больше максимального, то обновляется значение переменной max_index на текущее значение i, а также обновляется значение sum_max_index на текущее значение i.
- Если текущий элемент равен максимальному, но не является первым элементом (то есть i не равно 1), то увеличивается значение sum_max_index на i.
- После завершения цикла выводится максимальное значение массива (writeln ('Max = ',a[max_index])), его индекс (writeln ('(sum)position: ',sum_max_index)) и выводится символ новой строки (writeln ('')). Таким образом, данный код находит индекс или индексы максимального элемента в массиве и выводит их на экран.