Определить среднее арифметическое чисел, расположенных между первым из минимальных и последним из максимальных - Pascal ABC

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

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

Составить программу для решения предложенной задачи. N натуральных чисел вводится в массив (N – задано и не более 100). Определить среднее арифметическое чисел, расположенных между первым из минимальных и последним из максимальных чисел (границы включать). Предусмотреть проверку правильности ввода информации.

Решение задачи: «Определить среднее арифметическое чисел, расположенных между первым из минимальных и последним из максимальных»

textual
Листинг программы
var
  a : array [1..100] of integer;
  i, min, max, imax, imin, N, k : integer;
  s : real;
 begin
  randomize;
  {вводим N}
  repeat
    write('введите N: ');
    readln(N);
    if not (N in [2..100]) then writeln('ошибка ввода!')
  until N in [2..100];
  {заполняем массив, выводим}
  writeln('исходный массив');
  for i := 1 to N do
  begin
    a[i] := random(1000);
    write(a[i]:5)
  end;
  writeln;
  min := 10000;
  max := -10000;
  {определяем положение первого минимального}
  for i := N downto 1 do
    if a[i] < min then
    begin
      min := a[i];
      imin := i
    end;
  {определяем положение последнего максимального}
  for i := 1 to N do
    if a[i] > max then
    begin
      max := a[i];
      imax := i
    end;
  writeln('первый минимальный элемент: A[', imin, '] = ', a[imin]);
  writeln('последний максимальный элемент: A[', imax, '] = ', a[imax]);
  {поиск среднего между ними}
  k := 0;
  for i := imin to imax do
  begin
    s := s + a[i];
    inc(k)
  end;
  writeln('среднее арифметическое: ', (s / k):0:4);
  readln
end.

Объяснение кода листинга программы

  1. Создается переменная a типа array [1..100] of integer. Это означает, что будет создан массив из 100 чисел типа integer.
  2. Затем определяются переменные i, min, max, imax и imin. Переменные i, min и max инициализируются значениями 1, 10000 и -10000 соответственно. Переменные imax и imin используются для определения положения первого и последнего минимального элемента в массиве.
  3. Далее, в цикле for, заполняется массив a случайными числами от 1000 до 9999.
  4. Затем определяются переменные N, k и s. Переменная N используется для хранения введенного пользователем числа, а переменные k и s используются для хранения суммы элементов массива и среднего значения соответственно.
  5. В следующем цикле for происходит поиск среднего значения. Для этого переменная k инициализируется значением 0, а переменная s инициализируется значением 0. Затем происходит итерация по элементам массива от imin до imax. На каждой итерации значение элемента добавляется к переменной s. Переменная k увеличивается на 1 после каждой итерации.
  6. Наконец, выводится среднее значение, которое находится путем деления значения переменной s на значение переменной k.
  7. Код завершается вызовом функции readln().

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

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