// PascalABC.NET
function ВерхнийТреугольник(Матрица: array[,] of integer):
sequence of integer;
begin
var ИндексMax := Матрица.RowCount - 1;
for var ИндексСтроки := 0 to ИндексMax - 1 do
for var ИндексСтолбца := ИндексСтроки + 1 to ИндексMax do
yield Матрица[ИндексСтроки, ИндексСтолбца]
end;
var n := ReadInteger('N =');
var СлучайнаяМатрица := MatrRandom(n, n, -99, 99);
СлучайнаяМатрица.Println;
var ПоложительныеЭлементы :=
ВерхнийТреугольник(СлучайнаяМатрица)
.Where(Значение -> Значение > 0);
Println('Сумма положительных элементов равна',
ПоложительныеЭлементы.Sum);
Println('Число положительных элементов равно',
ПоложительныеЭлементы.Count)
end.
// PascalABC.NET
function ВерхнийТреугольник(Матрица: array[,] of integer):
sequence of integer;
begin
var ИндексMax := Матрица.RowCount - 1;
for var ИндексСтроки := 0 to ИндексMax - 1 do
for var ИндексСтолбца := ИндексСтроки + 1 to ИндексMax do
yield Матрица[ИндексСтроки, ИндексСтолбца]
end;
begin
var n := ReadInteger('N =');
var СлучайнаяМатрица := MatrRandom(n, n, -99, 99);
СлучайнаяМатрица.Println;
var ПоложительныеЭлементы :=
ВерхнийТреугольник(СлучайнаяМатрица)
.Where(Значение -> Значение > 0);
Println('Сумма положительных элементов равна',
ПоложительныеЭлементы.Sum);
Println('Число положительных элементов равно',
ПоложительныеЭлементы.Count)
end.