Помогите пожалуйста с решением задачки.
Ввести двумерный массив A[N,M]. В каждой строке массива упорядочить элементы, стоящие после минимального элемента.
Есть кое какие наброски, но цикл не работает.
Ну помогите плз , завтра отчитывать, а она даже не пашет((
Откликнитесь кто нибудь... нужно то всего лишь пару циклов подправить)) у мя просто уже скила прокаченного не хватает на их дороботку)
разбираться в коде сил нету, так что держи мой вариант:
uses crt;
const
n = 10;
type
TMatrix = array [1..n, 1..n] of Integer;
procedure CreateMx(var mx: TMatrix);
var
i, j: Byte;
begin
randomize;
for i := 1 to n do
for j := 1 to n do
mx[i, j] := random(100);
end;
procedure PrintMx(const mx: TMatrix);
var
i, j: Integer;
begin
writeln;
for i := 1 to n do begin
writeln;
for j := 1 to n do write(mx[i, j]:4);
end;
end;
function GetMinCol(const mx: TMatrix; const row: Byte): Byte;
var
col, i: Byte;
begin
col := 1;
for i := 2 to n do
if mx[row, i] < mx[row, col] then
col := i;
GetMinCol := col;
end;
procedure SortRow(var mx: TMatrix; const row, start: byte);
var
i, j: Byte;
T: Integer;
begin
for i := n downto start + 1 do
for j := start + 1 to i - 1 do
if not (mx[row, j] <= mx[row, j + 1]) then begin
T := mx[row, j]; mx[row, j] := mx[row, j + 1]; mx[row, j + 1] := T;
end;
end;
procedure SortMX(var mx: TMatrix);
var
i: Byte;
begin
for i := 1 to n do
SortRow(mx, i, GetMinCol(mx, i));
end;
var
mx: TMatrix;
begin
CreateMx(mx); PrintMx(mx); SortMx(mx); PrintMx(mx);
end.