Const
size_col = 9; { число столбцов }
size_row = 3; { число строк }
Type
TColumn = Array[1 .. size_row] Of Integer;
TMatrix = Array[1 .. size_col] Of TColumn;
Var
k: Integer;
Procedure swap_cols(Var mx: TMatrix; n: integer);
Var
i, j: Integer;
T: TColumn;
Begin
For i := 1 To n Do
For j := n DownTo i+1 Do
If mx[Pred(j)][k] > mx[j][k] Then Begin
T := mx[Pred(j)]; mx[Pred(j)] := mx[j]; mx[j] := T
End
End;
procedure print(var mx: tmatrix);
var i, j: integer;
begin
for i := 1 to size_row do
begin
for j := 1 to size_col do
write(mx[j][i]:4); { <<< Обратите внимание на индексы !!! }
writeln
end;
end;
var
mx: tmatrix;
i, j: integer;
begin
randomize;
{ Заполнение матрицы }
for i := 1 to size_row do
for j := 1 to size_col do
mx[i][j] := random(10)+2;
{ Матрица до обмена }
writeln('before:'); print(mx);
readln(k);
{ Обмен столбцов }
swap_cols(mx,size_col);
{ Матрица после обмена }
writeln('after:'); print(mx);
readln;
end.
Задание поменять местами столбцы матрицы по к-той строке. Всё работает отлично но появляются какието не понятные нули в матрице покажите где ошибка