4×4行列の余因子(3×3行列)を求めます。 4×4行列(TMatrix4型)mt4の要素A[i,j]の余因子(TMatrix3型)を求めるには、 引数は(i,j,mt4,Yoinshi)といった感じになります。
行列を扱うちゃんとしたクラスを作れば、もっと汎用的に使えると思います。
これぐらい思いつくよ!!って言われそうですが・・・
type TMatrix3 = array[1..3,1..3] of integer; TMatrix4 = array[1..4,1..4] of integer; procedure Tform1.getCofactor(row,col:integer; Matrix:TMatrix4; var Yoinshi:TMatrix3); var i,j,plusRow,plusCol:integer; begin plusRow := 0; plusCol := 0; for i := 1 to 3 do begin for j := 1 to 3 do begin if (i = row) then plusRow := 1; if (j = col) then plusCol := 1; Yoinshi[i,j] := Matrix[i+plusRow,j+plusCol]; end; plusCol := 0; end; end;