Найти сумму индексов в которых хранится максимальный элемент массива - 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 - индекс максимального элемента массива. Далее в коде происходит следующее:
    1. Инициализируются переменные max_index и sum_max_index значением 1.
    2. Запускается цикл for, который проходит по всем элементам массива от 1 до m.
    3. Внутри цикла каждому элементу массива присваивается случайное значение от 0 до 9 (a[i] := random(10)).
    4. Выводится значение текущего элемента массива (write (a[i],' ')).
    5. Проверяется условие: если текущий элемент больше максимального, то обновляется значение переменной max_index на текущее значение i, а также обновляется значение sum_max_index на текущее значение i.
    6. Если текущий элемент равен максимальному, но не является первым элементом (то есть i не равно 1), то увеличивается значение sum_max_index на i.
    7. После завершения цикла выводится максимальное значение массива (writeln ('Max = ',a[max_index])), его индекс (writeln ('(sum)position: ',sum_max_index)) и выводится символ новой строки (writeln ('')). Таким образом, данный код находит индекс или индексы максимального элемента в массиве и выводит их на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы