【发布时间】:2015-02-02 11:03:12
【问题描述】:
double find_min(sample &s){
double i = 0;
double min;
for (i; i < s.get_data().size() - 1; i++){
if (s.get_data().at(i) < s.get_data().at(i + 1)){
min = s.get_data().at(i);
}
else{
min = s.get_data().at(i + 1);
}
}
return min;
}
我试图找到一个填充了用户输入的向量的最小值。当有一个小数时,x,以及它后面的所有其他数都大于x;该功能工作正常。
但是,当一个小于 x 的数字,我们称之为 y,出现在 x 之后,函数返回 y。
示例 1:[23,44,55,1,66,77] 的向量值 -> 函数将正确返回 1;
示例2:[23,44,55,1,3,44]的向量值->函数返回3?
【问题讨论】:
-
索引使用整数类型,最好是size_t,因为它匹配size()的返回值。