Найти с поддержкою лямбда функцию сумму элемента матрицы .
Отыскать с помощью лямбда функцию сумму элемента матрицы .
Задать свой вопрос
Амина Жуковкина
на каком языке?
Васька Чехров
Паскаль
Анастасия Ортис
Это вопрос либо утверждение? Мне без различия.
Артемий Берестенев
Да.
Витя Горленко
2-ое.
1 ответ
Арсений Евгенов
// PascalABC.NET 3.2, сборка 1449 от 23.05.2017
// Внимание! Если программка не работает, обновите версию!
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-gt;(y[0]gt;=a.RowCount div 2) and (y[1]gt;=a.ColCount div 2))
.Select(y-gt;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-gt;integer;
PartSum:=x-gt;x.ElementsWithIndexes
.Where(y-gt;(y[0]gt;=x.RowCount div 2) and (y[1]gt;=x.ColCount div 2))
.Select(y-gt;y[2]).Sum;
Writeln('S=',PartSum(a))
end.
// Внимание! Если программка не работает, обновите версию!
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-gt;(y[0]gt;=a.RowCount div 2) and (y[1]gt;=a.ColCount div 2))
.Select(y-gt;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-gt;integer;
PartSum:=x-gt;x.ElementsWithIndexes
.Where(y-gt;(y[0]gt;=x.RowCount div 2) and (y[1]gt;=x.ColCount div 2))
.Select(y-gt;y[2]).Sum;
Writeln('S=',PartSum(a))
end.
Николай Шематьков
Ошибочно написал
Софья Бормосова
Where(y->not(a.RowCount<= n/2) and not(a.ColCount<=n/2)
Карамеева
Евгения
Тоже вычленяет 4 часть
Urodlichenko Anton
Только не знаю как сумму написать
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Облако тегов