Дан двумерный массив. в каждом его столбце найти сумму отрицательных элементов. В...

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

Дан двумерный массив. в каждом его столбце найти сумму отрицательных элементов. В Паскале. Пожалуйста решите быстрее, очень нужно.


Информатика (27 баллов) | 55 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1447 от 22.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк в массиве:');
  var m:=ReadInteger('Количество колонок в массиве:');
  Writeln('*** Исходный массив [',n,',',m,'] ***');
  var a:=MatrRandom(n,m,-99,99);
  a.Println(5); Writeln(5*a.ColCount*'-');
  a.Cols.Select(x->Format('{0,5}',x.Where(y->y<0).Sum)).Print('');<br>  Println(' - суммы отрицательных');
end.

Пример
Количество строк в массиве: 5
Количество колонок в массиве: 9
*** Исходный массив [5,9] ***
  -43  -96   34   82    3   92  -59   31   35
   65   94   76   66   90  -39   26  -24   83
   73  -92   94  -94   44  -35  -66   87  -46
   90   56  -37  -60   -9   94    9  -76  -58
  -16   97   65  -21  -86   64  -20   46  -26
---------------------------------------------
  -59 -188  -37 -175  -95  -74 -145 -100 -130 - суммы отрицательных
(150k баллов)