回答
你通過數組必須循環,尋找所需的值,例如:
function TMyClass.GetMinValue: Integer;
var
Idx: Integer;
begin
Result := MyArray[Low(MyArray)];
for Idx := Low(MyArray)+1 to High(MyArray) do
begin
if MyArray[Idx] < Result then
Result := MyArray[Idx];
end;
end;
function TMyClass.GetMaxValue: Integer;
var
Idx: Integer;
begin
Result := MyArray[Low(MyArray)];
for Idx := Low(MyArray)+1 to High(MyArray) do
begin
if MyArray[Idx] > Result then
Result := MyArray[Idx];
end;
end;
最簡單的方法是使用執行此內置功能服務。它們被稱爲MinIntValue
和MaxIntValue
,可以在數學單元中找到它們。
uses
Math;
....
TheMin := MinIntValue(TheArray);
TheMax := MaxIntValue(TheArray);
我正在使用動態數組。是否有任何函數可以幫助我處理它,因爲我遇到了不兼容的類型錯誤 –
我描述了使用整數動態數組處理的函數。你的陣列是什麼類型? –
我正在使用單獨對象的動態數組。所以我得到的錯誤'不兼容的類型整數和TObject' –
有在單位數學的函數重載此:
function MinValue(const Data: array of Single): Single; overload;
function MinValue(const Data: array of Double): Double; overload;
function MinValue(const Data: array of Extended): Extended; overload;
function MinIntValue(const Data: array of Integer): Integer;
function MaxValue(const Data: array of Single): Single; overload;
function MaxValue(const Data: array of Double): Double; overload;
function MaxValue(const Data: array of Extended): Extended; overload;
function MaxIntValue(const Data: array of Integer): Integer;
,因爲使用的是整數,你應該使用MinIntValue和MaxIntValue
我正在使用動態數組。是否有任何函數可以幫助我處理它,因爲我遇到了不兼容的類型錯誤 –
它可以在一個循環中完成.. 。
function ArrayValRange(somearray: array of integer; var minval: integer; var maxval: integer): boolean;
var
i: integer;
begin
result := false;
if length(somearray) < 1 then
exit;
result := true;
maxval = somearray[ Low(somearray)];
minval = maxval;
for i := Low(somearray)+1 to High(somearray) do
begin
if somearray[i] > maxval then
maxval := somearray[i];
if somearray[i] < minval then
minval := somearray[i];
end;
end;
然後
if ArrayValRange(myarray, min, max) then
begin
//do your thing
end;
任何性能增益都可能因所創建的數組副本而丟失。使其成爲常量。 –
- 1. 獲取PHP數組中的最小值和最大值
- 2. 獲取數組各部分的最小值和最大值
- 3. 獲取最小值和最大值
- 4. 數組的最小值和最大值?
- 5. 數組的最大值和最小值
- 6. 如何從數組中提取最大值和最小值?
- 7. 從數組中獲取最小值和最大值 - Java
- 8. 從JavaScript數組中獲取最大值和最小值
- 9. 從數組中獲取最小值和最大值
- 10. JavaScript獲取數組的最大值最小值平均值
- 11. 如何獲取MongoDB中的子數組的最小/最大值?
- 12. 如何在javascript中獲取數組的最小值和最大值
- 13. 如何在javascript中獲取數組的最小值和最大值?
- 14. 如何確定3個整數的最大值和最小值
- 15. 如何獲取String []數組的最大/最小值?
- 16. 如何獲取數組列表中的最小/最大值?
- 17. 如何獲取字符串的最小值和最大值?
- 18. 如何獲取隊列的最小值和最大值?
- 19. 如何獲取輸入的最小值和最大值angularjs
- 20. 如何獲得三維數組的最小值或最大值?
- 21. 如何獲得數組的最小值,最大值?
- 22. 獲取最小值和最大值組值從多維數組在PHP
- 23. 如何從數組列表中獲取最小值和最大值C#
- 24. 如何排序並從數組中獲取最小值和最大值?
- 25. 如何在Perl中查找整數數組中的最大值和最小值?
- 26. Python:用於獲取最大值和最小值而不使用最大值和最小值函數的程序
- 27. 獲取列和其他列值的最小值和最大值
- 28. 如何從jQueryUI Slider中獲取最小值和最大值
- 29. 如何打印數組的最大值和最小值?
- 30. 如何找到一個數組的最大值和最小值
上述'MinIntValue'和'MaxIntValue'函數已經在Delphi 7中,所以即使你是對的,你也不必使用這些代碼,而是使用這些函數。 – TLama
這種方法的好處在於,如果性能是一個問題,那麼它可以合併成一個返回兩個函數的函數。 – GrandmasterB