В заданной матрице A(N, M) поменять местами строки с номерами К и Р

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

В заданной матрице A(N, M) поменять местами строки с номерами К и Р


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

begin
  var m:=ReadInteger('Количество строк в матрице:');
  var n:=ReadInteger('Количество столбцов в матрице:');
  var k,p:integer;
  Write('Строки с какими номерами поменять? '); Read(k,p);
  Writeln('*** Исходная матрица [',m,',',n,'] ***');
  var a:=MatrRandom(m,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  a.SwapRows(k-1,p-1);
  Writeln('*** Матрица-результат ***');
  a.Println(4)
end.

Пример
Количество строк в матрице: 5
Количество столбцов в матрице: 8
Строки с какими номерами поменять? 2 5
*** Исходная матрица [5,8] ***
 -79  16 -87 -77 -93  94 -21 -16
 -63 -35  58 -52 -89 -54 -32 -65
  16  23  72  99  39 -46  66 -80
 -85  62 -29 -14  95  69 -58  -5
 -70 -47 -25 -48  33  42 -82 -12
--------------------------------
*** Матрица-результат ***
 -79  16 -87 -77 -93  94 -21 -16
 -70 -47 -25 -48  33  42 -82 -12
  16  23  72  99  39 -46  66 -80
 -85  62 -29 -14  95  69 -58  -5
 -63 -35  58 -52 -89 -54 -32 -65
(150k баллов)