type
TDynIntMatrix = Array Of Array Of Integer;
function GetPositiveNum(A : TDynIntMatrix) : Integer;
var
I, J : Integer;
mI, mJ : Integer;
begin
Result := 0;
mI := Low(A);
mJ := Low(A[mI]);
For I := Low(A) To High(A) Do
For J := Low(A[i]) To High(A[i]) Do
If A[I,J] < A[mI,mJ] Then
Begin
mI := I;
mJ := J;
End;
For I := mI To High(A) Do
For J := Low(A[i]) To High(A[i]) Do
Begin
If (I = mI) And (J <= mJ) Then Continue;
If A[I,J] > 0 Then Inc(Result);
End;
end;
procedure RandomInitArray(var A : TDynIntMatrix; AI, AJ : Integer);
var
I, J : Integer;
begin
SetLength(A,AI,AJ);
For I := Low(A) To High(A) Do
For J := Low(A[i]) To High(A[i]) Do
A[i,J] := Random(100)-50;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
M1 : TDynIntMatrix;
M2 : TDynIntMatrix;
S : String;
begin
RandomInitArray(M1,5,10);
RandomInitArray(M2,10,5);
S := 'Positive item after min item count.'#13#10;
S := S + Format('M1 : %d'#13#10,[GetPositiveNum(M1)]);
S := S + Format('M2 : %d',[GetPositiveNum(M2)]);
ShowMessage(S);
end;