如給定GetMinInArray([0,0.8,1.2,20]),得到的最小值是0,如何得到不為0的最小值,也就是0.8,如何修改此函式?
//求最小值
function GetMinInArray(A: array of Integer): Integer;
var I: Integer;
tmpMin: Integer;
begin
tmpMin := A[0];
for I := low(A) to High(A) do
begin
if A[I] < tmpMin then tmpMin := A[I];
end;
Result := tmpMin;
end;
uj5u.com熱心網友回復:
更正下上面的函式,回傳的是double型別function GetMinInArray(A: array of double): double;
var I: Integer;
tmpMin: double;
begin
tmpMin := A[0];
for I := low(A) to High(A) do
begin
if A[I] < tmpMin then tmpMin := A[I];
end;
Result := tmpMin;
end;
uj5u.com熱心網友回復:
function GetMinInArray(A: array of double): double;
var I: Integer;
tmpMin: double;
begin
tmpMin := A[0];
for I := low(A) to High(A) do
begin
if (A[I] <> 0) and (A[I] < tmpMin) then tmpMin := A[I];//去掉0不比
end;
Result := tmpMin;
end;
function GetMinInArray(A: array of double): double;
var I: Integer;
tmpMin: double;
begin
tmpMin := A[0];
for I := low(A) to High(A) do
begin
if (A[I] > 0) and (A[I] < tmpMin) then tmpMin := A[I];//只比大于0的數
end;
Result := tmpMin;
end;
uj5u.com熱心網友回復:
LZ實在也太不動腦子了吧,根本都不轉一下。你自己都懂得用比較排序法來做篩查最小值了,那你比較時多加個不為0的條件不就得了
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
0.8比0小嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/134458.html
標籤:VCL組件開發及應用
