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

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

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

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

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.

12   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ