181. Дана матрица размерности N ** M. Положительные элементы матрицы переписать подряд в...

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

181. Дана матрица размерности N на M. Положительные элементы матрицы переписать подряд в одномерный массив В.


Информатика (26 баллов) | 70 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Будет построчно. Если надо по столбцам, замените в программе ElementsByRow на ElementsByCol

// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var (n,m):=ReadInteger2('Количество строк и столбцов в матрице:');
  Writeln('*** Исходная матрица ***');
  var a:=MatrRandom(n,m,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var b:=a.ElementsByRow.Where(t->t>0).ToArray;
  Write('B: '); b.Println
end.

Пример
Количество строк и столбцов в матрице: 4 5
*** Исходная матрица ***
 -14  42 -70  55 -25
  13  66 -57 -10   8
  53 -32 -23  22  -2
  45  23 -56  -3 -42
--------------------
B: 42 55 13 66 8 53 22 45 23

(150k баллов)