Условие: Отсортировать в матрице столбцы по убыванию значений элементов в первой строке.
const
n = 4; m = 6;
var
arr: array[1..n,1..m] of integer;
i,j,k,q,id: byte;
min: integer;
begin
randomize;
for i:=1 to n do begin
for j:=1 to m do begin
arr[i,j] := random(50) - 25;
write(arr[i,j]:4);
end;
writeln;
end;
k := m;
j := 1;
while k > 1 do begin
min := arr[1,1];
id := 1;
for j:=2 to k do
if arr[1,j] < min then begin
min := arr[1,j];
id := j;
end;
arr[1,id] := arr[1,j];
arr[1,j] := min;
for i:=2 to n do begin
min := arr[i,id];
arr[i,id] := arr[i,j];
arr[i,j] := min;
end;
k := k - 1;
end;
writeln;
for i:=1 to n do begin
for j:=1 to m do
write(arr[i,j]:4);
writeln;
end;
readln;
end.