gpt4 book ai didi

c - 如何使用 C 中的条件测试从数组中删除某些元素?

转载 作者:行者123 更新时间:2023-11-30 15:03:57 26 4
gpt4 key购买 nike

我正在编写一个程序,该程序遍历整数数组并计算标准差以识别数据中的异常值。从这里,我想创建一个新数组,并删除已识别的异常值,以便重新计算平均值和标准差。有什么办法可以做到这一点吗?

最佳答案

这个问题有一个非常简单的解决方案,涉及在 if 语句中转换你的思维方式(它似乎实际上并不在 for 循环中......可能想要解决这个问题)。

float dataMinusOutliers[n];
int indexTracker = 0;
for (i=0; i<n; i++) {
if (data[i] >= (-2*stdevfinal) && data[i] <= (2*stdevfinal)) {

dataMinusOutliers[indexTracker] = data[i];
indexTracker += 1;
}
}

请注意,这并不是特别可扩展,并且 dataMinusOutliers 数组可能会有相当多未使用的索引。您始终可以使用 indexTracker - 1 来记录数组的实际大小,并创建另一个数组,将 dataMinusOutliers 中的重要值复制到其中。是否有更优雅的解决方案?是的。考虑到您的要求,这是否有效?是的。

关于c - 如何使用 C 中的条件测试从数组中删除某些元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40475679/

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