Дан массив A(N, M). Найти среднее арифметическое элементов находящихся между max и min элементов массива - Turbo Pascal

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

Дан массив A(N, M). Найти среднее арифметическое элементов находящихся между max и min элементов (или min и max элементами) массива. При этом, значения min и max элементов в среднее арифметическое не включаются.


textual

Код к задаче: «Дан массив A(N, M). Найти среднее арифметическое элементов находящихся между max и min элементов массива - Turbo Pascal»

const
  N = 3; M = 4;
  a: array[1.. N, 1.. M] of integer =
  ((2, 3, 4, 5),
   (0, 3, 4, 5),
   (7, 9, 1, 1));
 
var
  i, j, k: integer;
  s: real;
  imin, imax: integer;
 
begin
  imin := 0; imax := 0;
  for i := 1 to n do
    for j := 1 to m do
    begin
      if a[imin div M + 1, imin mod M + 1] > a[i, j] then
        imin := pred(i) * M + pred(j);
      if a[imax div M + 1, imax mod M + 1] < a[i, j] then
        imax := pred(i) * M + pred(j);
    end;
  
  k := abs(imin - imax);
  if k > 1 then
  begin
    s := 0;
    for i := ((imin + imax - k) div 2) + 1 to
             ((imin + imax + k) div 2) - 1 do
      s := s + a[i div M + 1, i mod M + 1];
    writeln('Среднее = ', s / (k - 1):0:3);
  end
  else
    writeln('Между минимумом и максимумом нет элементов')  
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

14   голосов, оценка 4.143 из 5

Источник
Похожие ответы