我可以在我的数组中找到最小值索引。我找到了很多关于它的指南,我也在做同样的事情,但我的回答并不正确。
double minimum = main_array[0];
int index_min;
for (int i=1; i<ARRAY_SIZE; i++) {
if (main_array[i] < minimum)
minimum = main_array[i];
index_min = i;
}
我得到的答案是数组中最后一个元素的索引,而不是具有最低值的元素。
答案 0 :(得分:1)
更新index_min时需要正确包装if条件:
if (main_array[i] < minimum) {
minimum = main_array[i];
index_min = i;
}
答案 1 :(得分:0)
你忘记了一些括号。适当的缩进将有助于看到这一点。目前您的代码如下所示:
DSL.field(
"cast({0} as CHAR CHARACTER SET utf8) COLLATE utf8_unicode_ci",
String.class,
MY_TABLE.ZIP
);
但你想要这个:
for (int i=1; i<ARRAY_SIZE; i++)
{
if (main_array[i] < minimum)
minimum = main_array[i]; // sets the minimum correctly
index_min = i; // updates the index every run, resulting in index_min == ARRAY_SIZE -1
}
同样在C和C ++中,您通常会使用额外的行来获得eac花括号。