Даны числа M, K, L и квадратная матрица A={Pij}, i,j=1,…,M. Осуществить перестановку K-й и L-й строк матрицы A. В программе предусмотреть анализ возможности решения задачи — Pascal(Паскаль)

uses crt;
type arr=array[1..100,1..100]of integer;
var i,j,m,k,l:integer;
a:arr;
 
procedure swap(var a:arr;m,k1,k2:integer);
var b,j:integer;
begin
 for j:=1 to m do
 begin
  b:=a[k1,j];
  a[k1,j]:=a[k2,j];
  a[k2,j]:=b;
 end;
end;
 
begin
 clrscr;
 write('M -> ');
 readln(m);
 for i:=1 to m do for j:=1 to m do
 begin
  write('A[',i,' ',j,']: ');
  readln(a[i,j]);
 end;
 
 writeln('Исходная матрица');
 for i:=1 to m do
 begin
  for j:=1 to m do write(a[i,j],' ');
  writeln;
 end;
 
 write('K,L -> ');
 readln(k,l);
 if (k<=m) and (l<=m) and (k<>l) then
 begin
  swap(a,m,k,l);
  writeln('Преобразованная матрица');
  for i:=1 to m do
  begin
   for j:=1 to m do write(a[i,j],' ');
   writeln;
  end;
 end else write('Некорректные данные, операция невозможна');
 readln;
end.

Leave a Comment

+ 18 = 22