задан двухмерный массив целых чисел а размером n на м, состоящий из отрицательных и положительных элементов. найти количество отрицательных элементов и их сумму. вывести на экран этот массив, затем преобразовать его, заменив отрицательные элементы на ноль.

ahmadieva05 ahmadieva05    1   31.08.2019 16:40    0

Ответы
limpompo2112 limpompo2112  06.10.2020 08:05
// PascalABC.NET 3.2, сборка 1437 от 03.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк в массиве:');
  var m:=ReadInteger('Количество колонок в массиве:');
  Writeln('*** Исходный массив [',n,',',m,'] ***');
  var a:=MatrRandom(n,m,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var s:=a.ElementsWithIndexes.Where(x->x[2]<0);
  Writeln(s.Count,' отрицательных элементов с суммой ',s.Select(x->x[2]).Sum);
  Writeln('*** Результирующий массив ***');
  foreach var ijV in s do a[ijV[0],ijV[1]]:=0;
  a.Println(4)
end.

Пример
Количество строк в массиве: 4
Количество колонок в массиве: 7
*** Исходный массив [4,7] ***
  97  -4 -24  49   1  86 -15
 -84 -17 -56 -76 -26 -77  49
  -8  48 -29  60  20  82  90
 -28  -4 -69  32 -63 -35 -72

17 отрицательных элементов с суммой -687
*** Результирующий массив ***
  97   0   0  49   1  86   0
   0   0   0   0   0   0  49
   0  48   0  60  20  82  90
   0   0   0  32   0   0   0
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика