Предмет: Информатика, автор: ura1811

Написать программу обработки двумерного массива.
Дана целочисленная квадратная матрица. Определить:
a) Сумму элементов в тех столбцах, которые не одержат отрицательных элементов (оформить в виде функции).
b) Минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы (функция).

Ответы

Автор ответа: BobbyFresnel
1

===== PascalABC.NET =====

function S(a: array[,] of integer) :=

a.Cols.Where(p -> p.All(q -> q >= 0)).SelectMany(p -> p).Sum;

function M(a: array[,] of integer): integer;

begin

 var n := a.RowCount;

 Result := integer.MaxValue;

 var s: integer;

 for var i := 0 to n - 2 do

 begin

   s := 0;

   for var j := 0 to i do

     s += Abs(a[i - j, j]);

   if s < Result then

     Result := s

 end;

 for var j := 1 to n - 1 do

 begin

   s := 0;

   for var i := n - 1 downto j do

     s += Abs(a[i, n - i + j - 1]);

   if s < Result then

     Result := s

 end

end;

begin

 var n := ReadInteger('n =');

 var a := MatrRandom(n, n, -10, 30);

 a.Println;

 S(a).Println;

 M(a).Println;

end.

Приложения:
Похожие вопросы
Предмет: Обществознание, автор: daska3018