Дан двумерный массив размером 6×6. массив задается генератором случайных чисел.поменять местами в каждой строке минимальный и последний элемент. решить на pascalabc.net оформить в виде процедуры.
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 procedure MatPrint(a:array[,] of integer); begin for var i:=0 to Length(a,0)-1 do begin for var j:=0 to Length(a,1)-1 do Write(a[i,j]:4); Writeln end end;
procedure MatSwap(a:array[,] of integer); begin for var i:=0 to Length(a,0)-1 do begin var jmin:=0; for var j:=1 to Length(a,1)-1 do if a[i,j]<a[i,jmin] then jmin:=j; Swap(a[i,jmin],a[i,Length(a,1)-1]) end end;
begin var a:=MatrixRandom(6,6,-99,99); Writeln('Исходный массив'); MatPrint(a); MatSwap(a); Writeln('Результирующий массив'); MatPrint(a) end.
procedure MatPrint(a:array[,] of integer);
begin
for var i:=0 to Length(a,0)-1 do begin
for var j:=0 to Length(a,1)-1 do Write(a[i,j]:4);
Writeln
end
end;
procedure MatSwap(a:array[,] of integer);
begin
for var i:=0 to Length(a,0)-1 do begin
var jmin:=0;
for var j:=1 to Length(a,1)-1 do
if a[i,j]<a[i,jmin] then jmin:=j;
Swap(a[i,jmin],a[i,Length(a,1)-1])
end
end;
begin
var a:=MatrixRandom(6,6,-99,99);
Writeln('Исходный массив');
MatPrint(a);
MatSwap(a);
Writeln('Результирующий массив');
MatPrint(a)
end.
Тестовое решение:
Исходный массив
-19 88 -17 20 36 -74
40 -88 84 54 34 -86
-13 -58 62 -55 -51 80
-46 -35 -86 -57 -84 -29
10 -55 -68 -49 12 78
29 -86 -19 17 -79 61
Результирующий массив
-19 88 -17 20 36 -74
40 -86 84 54 34 -88
-13 80 62 -55 -51 -58
-46 -35 -29 -57 -84 -86
10 -55 78 -49 12 -68
29 61 -19 17 -79 -86