我有这段代码,我该如何找到读数数组中的最小值位置。
例如,如果最小值是读数[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)));