C++ C++;在数组中循环,找到最小的
我试图在3个不同的数组中找到最小的值,但结果不对,我不这么认为。它似乎永远不会返回中间数组,即使它是最小的。它总是0或2。我的逻辑错误是什么C++ C++;在数组中循环,找到最小的,c++,C++,我试图在3个不同的数组中找到最小的值,但结果不对,我不这么认为。它似乎永远不会返回中间数组,即使它是最小的。它总是0或2。我的逻辑错误是什么 int smallest; for(int i = 1; i < 3; i++) { if(queue[i].getCount() < queue[0].getCount()) smallest = i; else smallest = 0; } int最小; 对于(int i=1;i
int smallest;
for(int i = 1; i < 3; i++)
{
if(queue[i].getCount() < queue[0].getCount())
smallest = i;
else
smallest = 0;
}
int最小;
对于(int i=1;i<3;i++)
{
如果(队列[i].getCount()<队列[0].getCount())
最小=i;
其他的
最小=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;
}
int=queue[0].getCount();
对于(int i=1;i<3;i++)
{
if(队列[i].getCount()
如果您希望得到结果索引,请尝试以下操作:
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;
}
int最小值=0;
对于(int i=1;i<3;i++)
{
如果(队列[i].getCount()
与位置0处的条目进行比较,而不是与循环中的队列[minimable].getCount()
的当前值进行比较。(更正后,别忘了在声明中正确初始化最小的
。)对不起,我实际上得到了最小队列的索引。或者队列中对象数量最少的索引。我添加了另一个版本。