program MoveMinFirstRow;
uses crt;
type
TMatrix = array of array of integer;
procedure PrintMatrix(var matrix: TMatrix; rows, cols: integer);
var
i, j: integer;
begin
for i := 0 to rows - 1 do
begin
for j := 0 to cols - 1 do
write(matrix[i][j]:4);
writeln;
end;
end;
procedure MoveMinFirstRow(var matrix: TMatrix; rows, cols: integer);
var
minRow, i, j: integer;
temp: array of integer;
begin
// Находим строку с минимальным первым элементом
minRow := 0;
for i := 1 to rows - 1 do
if matrix[i][0] < matrix[minRow][0] then
minRow := i;
// Если минимальная строка уже первая, ничего не делаем
if minRow = 0 then exit;
// Создаем временный массив для хранения минимальной строки
SetLength(temp, cols);
for j := 0 to cols - 1 do
temp[j] := matrix[minRow][j];
// Сдвигаем строки вниз от начала до minRow
for i := minRow downto 1 do
for j := 0 to cols - 1 do
matrix[i][j] := matrix[i-1][j];
// Копируем минимальную строку в первую позицию
for j := 0 to cols - 1 do
matrix[0][j] := temp[j];
end;
var
matrix: TMatrix;
rows, cols, i, j: integer;
begin
clrscr;
// Пример матрицы из задания
rows := 3;
cols := 4;
SetLength(matrix, rows, cols);
// Заполняем матрицу
matrix[0][0] := 2; matrix[0][1] := 4; matrix[0][2] := 1; matrix[0][3] := 5;
matrix[1][0] := 3; matrix[1][1] := 5; matrix[1][2] := 2; matrix[1][3] := 7;
matrix[2][0] := 1; matrix[2][1] := 2; matrix[2][2] := 1; matrix[2][3] := 4;
writeln('Исходная матрица:');
PrintMatrix(matrix, rows, cols);
MoveMinFirstRow(matrix, rows, cols);
writeln;
writeln('Матрица после перемещения:');
PrintMatrix(matrix, rows, cols);
readkey;
end.
cHJvZ3JhbSBNb3ZlTWluRmlyc3RSb3c7CnVzZXMgY3J0OwoKdHlwZQogIFRNYXRyaXggPSBhcnJheSBvZiBhcnJheSBvZiBpbnRlZ2VyOwoKcHJvY2VkdXJlIFByaW50TWF0cml4KHZhciBtYXRyaXg6IFRNYXRyaXg7IHJvd3MsIGNvbHM6IGludGVnZXIpOwp2YXIKICBpLCBqOiBpbnRlZ2VyOwpiZWdpbgogIGZvciBpIDo9IDAgdG8gcm93cyAtIDEgZG8KICBiZWdpbgogICAgZm9yIGogOj0gMCB0byBjb2xzIC0gMSBkbwogICAgICB3cml0ZShtYXRyaXhbaV1bal06NCk7CiAgICB3cml0ZWxuOwogIGVuZDsKZW5kOwoKcHJvY2VkdXJlIE1vdmVNaW5GaXJzdFJvdyh2YXIgbWF0cml4OiBUTWF0cml4OyByb3dzLCBjb2xzOiBpbnRlZ2VyKTsKdmFyCiAgbWluUm93LCBpLCBqOiBpbnRlZ2VyOwogIHRlbXA6IGFycmF5IG9mIGludGVnZXI7CmJlZ2luCiAgLy8g0J3QsNGF0L7QtNC40Lwg0YHRgtGA0L7QutGDINGBINC80LjQvdC40LzQsNC70YzQvdGL0Lwg0L/QtdGA0LLRi9C8INGN0LvQtdC80LXQvdGC0L7QvAogIG1pblJvdyA6PSAwOwogIGZvciBpIDo9IDEgdG8gcm93cyAtIDEgZG8KICAgIGlmIG1hdHJpeFtpXVswXSA8IG1hdHJpeFttaW5Sb3ddWzBdIHRoZW4KICAgICAgbWluUm93IDo9IGk7CgogIC8vINCV0YHQu9C4INC80LjQvdC40LzQsNC70YzQvdCw0Y8g0YHRgtGA0L7QutCwINGD0LbQtSDQv9C10YDQstCw0Y8sINC90LjRh9C10LPQviDQvdC1INC00LXQu9Cw0LXQvAogIGlmIG1pblJvdyA9IDAgdGhlbiBleGl0OwoKICAvLyDQodC+0LfQtNCw0LXQvCDQstGA0LXQvNC10L3QvdGL0Lkg0LzQsNGB0YHQuNCyINC00LvRjyDRhdGA0LDQvdC10L3QuNGPINC80LjQvdC40LzQsNC70YzQvdC+0Lkg0YHRgtGA0L7QutC4CiAgU2V0TGVuZ3RoKHRlbXAsIGNvbHMpOwogIGZvciBqIDo9IDAgdG8gY29scyAtIDEgZG8KICAgIHRlbXBbal0gOj0gbWF0cml4W21pblJvd11bal07CgogIC8vINCh0LTQstC40LPQsNC10Lwg0YHRgtGA0L7QutC4INCy0L3QuNC3INC+0YIg0L3QsNGH0LDQu9CwINC00L4gbWluUm93CiAgZm9yIGkgOj0gbWluUm93IGRvd250byAxIGRvCiAgICBmb3IgaiA6PSAwIHRvIGNvbHMgLSAxIGRvCiAgICAgIG1hdHJpeFtpXVtqXSA6PSBtYXRyaXhbaS0xXVtqXTsKCiAgLy8g0JrQvtC/0LjRgNGD0LXQvCDQvNC40L3QuNC80LDQu9GM0L3Rg9GOINGB0YLRgNC+0LrRgyDQsiDQv9C10YDQstGD0Y4g0L/QvtC30LjRhtC40Y4KICBmb3IgaiA6PSAwIHRvIGNvbHMgLSAxIGRvCiAgICBtYXRyaXhbMF1bal0gOj0gdGVtcFtqXTsKZW5kOwoKdmFyCiAgbWF0cml4OiBUTWF0cml4OwogIHJvd3MsIGNvbHMsIGksIGo6IGludGVnZXI7CmJlZ2luCiAgY2xyc2NyOwogIAogIC8vINCf0YDQuNC80LXRgCDQvNCw0YLRgNC40YbRiyDQuNC3INC30LDQtNCw0L3QuNGPCiAgcm93cyA6PSAzOwogIGNvbHMgOj0gNDsKICAKICBTZXRMZW5ndGgobWF0cml4LCByb3dzLCBjb2xzKTsKICAKICAvLyDQl9Cw0L/QvtC70L3Rj9C10Lwg0LzQsNGC0YDQuNGG0YMKICBtYXRyaXhbMF1bMF0gOj0gMjsgbWF0cml4WzBdWzFdIDo9IDQ7IG1hdHJpeFswXVsyXSA6PSAxOyBtYXRyaXhbMF1bM10gOj0gNTsKICBtYXRyaXhbMV1bMF0gOj0gMzsgbWF0cml4WzFdWzFdIDo9IDU7IG1hdHJpeFsxXVsyXSA6PSAyOyBtYXRyaXhbMV1bM10gOj0gNzsKICBtYXRyaXhbMl1bMF0gOj0gMTsgbWF0cml4WzJdWzFdIDo9IDI7IG1hdHJpeFsyXVsyXSA6PSAxOyBtYXRyaXhbMl1bM10gOj0gNDsKICAKICB3cml0ZWxuKCfQmNGB0YXQvtC00L3QsNGPINC80LDRgtGA0LjRhtCwOicpOwogIFByaW50TWF0cml4KG1hdHJpeCwgcm93cywgY29scyk7CiAgCiAgTW92ZU1pbkZpcnN0Um93KG1hdHJpeCwgcm93cywgY29scyk7CiAgCiAgd3JpdGVsbjsKICB3cml0ZWxuKCfQnNCw0YLRgNC40YbQsCDQv9C+0YHQu9C1INC/0LXRgNC10LzQtdGJ0LXQvdC40Y86Jyk7CiAgUHJpbnRNYXRyaXgobWF0cml4LCByb3dzLCBjb2xzKTsKICAKICByZWFka2V5OwplbmQu