我试图找到3个不同数组中的最小值,但它不是正确的我不认为。即使它是最小的,它也不会返回中间数组。它总是为0或2.什么似乎是我的逻辑错误?C++循环数组,查找最小
int smallest;
for(int i = 1; i < 3; i++)
{
if(queue[i].getCount() < queue[0].getCount())
smallest = i;
else
smallest = 0;
}
我试图找到3个不同数组中的最小值,但它不是正确的我不认为。即使它是最小的,它也不会返回中间数组。它总是为0或2.什么似乎是我的逻辑错误?C++循环数组,查找最小
int smallest;
for(int i = 1; i < 3; i++)
{
if(queue[i].getCount() < queue[0].getCount())
smallest = i;
else
smallest = 0;
}
鉴于代码中存在错误,您很难看出您要做什么。
我会想你想要更多的东西是这样的:
int smallest = queue[0].getCount();
for(int i = 1; i < 3; i++)
{
if(queue[i].getCount() < smallest)
smallest = queue[i].getCount();
}
如果你不是想最终得到的指数,尝试这样的事情:
int smallest = 0;
for(int i = 1; i < 3; i++)
{
if(queue[i].getCount() < queue[smallest].getCount())
smallest = i;
}
对不起,我实际上得到最小队列的索引。或者其中包含最少量对象的队列的索引。 –
我添加了另一个版本。 –
你比较在位置0进入,而不是循环中'队列[最小] .getCount()'的当前值。 (修正后,不要忘记在声明中正确初始化'最小')。 – jogojapan