Дан двухмерный массив. Составить программу которая переставит 2 любых столбца массива — Pascal(Паскаль)

program zad;
uses crt;
var
a:array[1..100,1..100] of integer;
i,j,n,m,k,c,b:integer;
begin
  clrscr;
  randomize;
  write('введите колличество строк     n ');readln(n);
  write('введите колличество столбцов  m ');readln(m);
  for i:=1 to n do
  begin
    for j:=1 to m do
    begin
      a[i,j]:=random(3)-2;
      write(a[i,j]:3);
    end;
    writeln;
  end;
  writeln('введите номера двух столбцов которые надо переставить через enter ');
 
  readln(c,b);
  if (c>m) or (b>m) then
  begin
    textcolor(4);
    writeln('ОШИБКА!!! ');
    textcolor(7);
    readln;
    exit;
  end;
  for j:=1 to m do
  begin
    for i:=1 to n do
    begin
      if j=c then
      begin
        k:=a[i,j];
        a[i,j]:=a[i,b];
        a[i,b]:=k;
      end;
    end;
  end;
  for i:=1 to n do
  begin
    for j:=1 to m do
    begin
      write(a[i,j]:3);
    end;
    writeln;
  end;
   readln;
end.

Leave a Comment

80 + = 85