Регистрация
Войти
Стать экспертом Правила
Информатика

Найти с помощью лямбда функцию сумму элемента матрицы .

ОТВЕТЫ



begin
  var n:=ReadInteger('Количество строк/столбцов в матрице:');
  Writeln('*** Исходная матрица [',n,',',n,'] ***');
  var a:=MatrRandom(n,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  Writeln('S=',a.ElementsWithIndexes
    .Where(y->(y[0]>=a.RowCount div 2) and (y[1]>=a.ColCount div 2))
    .Select(y->y[2]).Sum)
end.


Количество строк/столбцов в матрице: 8
*** Исходная матрица [8,8] ***
 -73 -79  -1  19 -58  79 -18 -81
 -71  78  27  59  -6   4 -95  36
 -95 -47 -94 -86  66 -37   6  12
 -96 -42 -43 -78  34 -53  29  91
 -65   2  59   3 -26 -16 -63  22
  -4 -18  97  65 -70  78  78   9
 -36 -64   8 -69 -34  74 -17  63
  15  87  15  84  22 -39 -16  82
--------------------------------
S=147



type
  Mat=array[,] of integer;
 
begin
  var n:=ReadInteger('Количество строк/столбцов в матрице:');
  Writeln('*** Исходная матрица [',n,',',n,'] ***');
  var a:Mat:=MatrRandom(n,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var PartSum:Mat->integer;
  PartSum:=x->x.ElementsWithIndexes
    .Where(y->(y[0]>=x.RowCount div 2) and (y[1]>=x.ColCount div 2))
    .Select(y->y[2]).Sum;
  Writeln('S=',PartSum(a))
end.

232
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам