我有这段代码,我该如何找到读数数组中的最小值位置。
例如,如果最小值是读数[10],有没有办法我可以编写代码

int count = 0;
long readings[20] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
for (count = 0;count <21;count++;){
readings [count] =  time2[count] + (time3[count] * 60) + ( time4[count] * 3600);
}
我实际上是在这样使用if语句的。 if ( (readings[0] <= readings[1]) && (readings[2]) ) {}但是现在我想计算并比较数组中的20个数字(readings [0])与(readings [20]),如果有一种方法可以让我知道数组中最小的元素位置,我将不胜感激。

最佳答案

std::min_element 将为您完成工作:

auto index = std::distance(std::begin(readings), std::min_element(std::begin(readings), std::end(readings)));

10-07 18:49