Имя матрицы и размеры массива : A(N,M) Найти среднее значение элементов массива. Найти...

0 голосов
24 просмотров

Имя матрицы и размеры массива : A(N,M)
Найти среднее значение элементов массива. Найти далее индекс элементов массива, наиболее близкого к среднему значению.
условия и ограничения : N<=20,M<=15 ??<br>


Информатика (15 баллов) | 24 просмотров
0

Какой язык?

0

Паскаль

Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var (n,m):=ReadInteger2('Количество строк и столбцов в массиве:');
  Writeln('*** Исходный массив ***');
  var a:=MatrRandom(n,m,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var avg:=a.ElementsByRow.Average;
  Writeln('Среднее значение ',avg);
  var min:=(a.ElementsWithIndexes.Select(t->(Abs(t[0]-avg),t[1],t[2]))
      .MinBy(t->t[0]));
  Writeln('Наименее отличающийся от среднего элемент A[',
      min[1]+1,',',min[2]+1,'] = ',a[min[1],min[2]])
end.

Пример
Количество строк и столбцов в массиве: 5 7
*** Исходный массив ***
 -10  29 -69  98  40 -87 -64
  74 -36 -62 -86  -3  -6 -48
  -4  57  46 -23 -70  -5  25
 -98  -2  23   9 -42  77  65
 -57 -77  30  48 -52 -33   5
----------------------------
Среднее значение -8.8
Наименее отличающийся от среднего элемент A[1,1] = -10
(150k баллов)