Найти сумму индексов в которых хранится максимальный элемент массива - Pascal ABC
Формулировка задачи:
Найти сумму индексов в которых хранится максимальный элемент массива
Листинг программы
- const
- m = 10;
- var
- a: array[1..m] of byte;
- max_num, max_index: byte;
- i: byte;
- begin
- randomize;
- for i := 1 to m do begin
- a[i] := random(10);
- write (a[i]:3);
- end;
- max_index := 1;
- max_num := a[1];
- for i := 2 to m do
- if a[i] > max_num then begin
- max_index := i;
- max_num := a[i];
- end;
- writeln;
- writeln ('Max = ',max_num);
- writeln ('position: ', max_index);
- end.
Решение задачи: «Найти сумму индексов в которых хранится максимальный элемент массива»
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 ('')). Таким образом, данный код находит индекс или индексы максимального элемента в массиве и выводит их на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д