Найти сумму индексов в которых хранится максимальный элемент массива - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Найти сумму индексов в которых хранится максимальный элемент массива
Листинг программы
  1. const
  2. m = 10;
  3. var
  4. a: array[1..m] of byte;
  5. max_num, max_index: byte;
  6. i: byte;
  7. begin
  8. randomize;
  9. for i := 1 to m do begin
  10. a[i] := random(10);
  11. write (a[i]:3);
  12. end;
  13. max_index := 1;
  14. max_num := a[1];
  15. for i := 2 to m do
  16. if a[i] > max_num then begin
  17. max_index := i;
  18. max_num := a[i];
  19. end;
  20. writeln;
  21. writeln ('Max = ',max_num);
  22. writeln ('position: ', max_index);
  23. end.

Решение задачи: «Найти сумму индексов в которых хранится максимальный элемент массива»

textual
Листинг программы
  1. const m = 10;
  2. var   a: array[1..m] of byte;
  3.       i,sum_max_index, max_index: byte;
  4. begin
  5.       max_index:=1;sum_max_index:=1;
  6.       for i := 1 to m do begin
  7.         a[i] :=random(10);
  8.         write (a[i],' ');
  9.         if a[i] > a[max_index]
  10.          then begin max_index := i;sum_max_index:=i end
  11.          else
  12.           if (a[i]=a[max_index])and(i<>1)
  13.            then inc(sum_max_index,i)
  14.       end; writeln;
  15.       writeln ('Max = ',a[max_index]);
  16.       writeln ('(sum)position: ',sum_max_index);
  17. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы