Procedure ELMHES(var A:matrx2; N:integer); var M,J,I:integer; X,Y:real; begin If N > 2 Then begin For M:=2 To N - 1 do begin X:=0 ; I:=M; For J:=M To N do begin If Abs(A[J, M - 1]) > Abs(X) Then begin X:=A[J, M - 1]; I:=J; end; end; If I <> M Then begin For J:=M - 1 To N do begin Y:=A[I, J]; A[I, J]:=A[M, J]; A[M, J]:=Y; end; For J:=1 To N do begin Y:=A[J, I]; A[J, I]:=A[J, M]; A[J, M]:=Y; end; end; If X <> 0 Then begin For I:=M + 1 To N do begin Y:=A[I, M - 1]; If Y <> 0 Then begin Y:=Y / X; A[I, M - 1]:=Y; For J:=M To N do A[I, J]:=A[I, J] - Y * A[M, J]; For J:=1 To N do A[J, M]:=A[J, M] + Y * A[J, I]; end; end; end; end; end; end;