Дана матрица NxM нужно её транспонировать ,причём N и М могут быть не равны.Пример: ...

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

Дана матрица NxM нужно её транспонировать ,причём N и М могут быть не равны.Пример:
Входные данные:
2 3
1 2 3
4 5 6
Ответ:
3 2
1 4
2 5
3 6


Информатика (196 баллов) | 42 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1579 от 18.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var (m,n):=ReadInteger2('Количество строк и столбцов в матрице:');
  Writeln('*** Исходная матрица [',m,',',n,'] ***');
  var a:=MatrRandom(n,m,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  a:=Transpose(a);
  Writeln('*** Транспонированная матрица [',n,',',m,'] ***');
  a.Println(4)
end.

Пример
Количество строк и столбцов в матрице: 5 8
*** Исходная матрица [5,8] ***
  17  85 -69  45 -56
  46  83 -82  96   6
  21 -32 -16  -9  78
 -35  45 -98  74  32
 -46 -19 -82  85  76
  53  26  14 -46  26
 -51 -17 -41 -41   2
  19 -35 -34  83 -87
--------------------
*** Транспонированная матрица [8,5] ***
  17  46  21 -35 -46  53 -51  19
  85  83 -32  45 -19  26 -17 -35
 -69 -82 -16 -98 -82  14 -41 -34
  45  96  -9  74  85 -46 -41  83
 -56   6  78  32  76  26   2 -87
(150k баллов)