gpt4 book ai didi

delphi - 查找动态数组均值的最简单方法

转载 作者:行者123 更新时间:2023-12-03 13:24:13 25 4
gpt4 key购买 nike

我创建了一个动态数组,并将值传递给它。有没有找到动态数组均值的捷径。

var
TheMin, TheMax: Integer;
x: array of Integer; //Dynamic array declaration
....
TheMin := MinIntValue(x);//I am able to retrieve the minium value of the dynamic array
TheMax := MaxIntValue(x);//I am able to retrieve the maximum value of the dynamic array


还有其他方法可以使用Math库获得均值。

最佳答案

编写这样的功能非常容易。

function Mean(const Data: array of Integer): Double; overload;
var
i: Integer;
begin
Result := 0.0;
for i := low(Data) to high(Data) do
Result := Result + Data[i];
Result := Result / Length(Data);
end;


我对此进行了重载,以使其可以与 Math单元中相同的命名函数一起使用。

如果希望使用内置库代码,则可以使用 SumInt单元中的 Math

TheMean := SumInt(x) / Length(x);


SumInt使用 Integer累加器执行求和。这可能比使用浮点累加器的定制功能更快。但是, Integer累加器可能会溢出,可能会导致溢出。另一方面, Integer累加器可能比浮点累加器更准确。根据您的使用要求,这些问题对您可能很重要。

在这两种情况下,如果输入数组的长度为零,则会引发运行时浮点除以零错误。

关于delphi - 查找动态数组均值的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38827605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com