1. Создаем файл MatInt.pas следующего содержания:// PascalABC.NET 3.1, сборка 1230 от 27.04.2016unit MatInt;interfacetype Matrix=array[,] of integer;function MatCreate(m,n:integer):Matrix;procedure MatPrint(a:Matrix;w:integer);procedure MatMax(a:Matrix;var x,imax,jmax:integer);implementationfunction MatCreate(m,n:integer):Matrix;// создает матрицу и инициализирует её нулямиbegin SetLength(Result,m,n);end;procedure MatPrint(a:Matrix;w:integer);// выводит матрицу, отводя w позиций под элементbegin var n:=Length(a,1)-1; for var i:=0 to Length(a,0)-1 do begin for var j:=0 to n do Write(a[i,j]:w); Writeln endend;procedure MatMax(a:Matrix;var x,imax,jmax:integer);// возвращает значение максимального элемента и его координатыbegin imax:=0; jmax:=0; var n:=Length(a,1)-1; for var i:=0 to Length(a,0)-1 do for var j:=0 to n do if a[i,j]>a[imax,jmax] then (imax,jmax):=(i,j); Inc(imax); Inc(jmax); x:=a[imax-1,jmax-1]end;end.
2. Компилируем файл, получая библиотеку MatInt.pcu3. Пишем основную программу:// PascalABC.NET 3.1, сборка 1230 от 27.04.2016uses MatInt;begin var a:=MatCreate(5,8); var n:=Length(a,1)-1; for var i:=0 to Length(a,0)-1 do for var j:=0 to n do a[i,j]:=Random(-50,50); MatPrint(a,4); var irow,jcol,max:integer; MatMax(a,max,irow,jcol); Writeln('Максимальный А[',irow,',',jcol,']=',max)end.
Тестовое решение 11 -16 11 16 23 -4 -17 -34 -12 -5 20 9 16 47 43 17 -46 -26 47 -40 12 -31 -25 13 -7 39 -20 26 11 -19 32 -15 45 -10 -28 31 -46 -29 -29 -22Максимальный А[2,6]=47