Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;在数组中循环,找到最小的_C++ - Fatal编程技术网

C++ C++;在数组中循环,找到最小的

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

我试图在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<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()
的当前值进行比较。(更正后,别忘了在声明中正确初始化
最小的
。)对不起,我实际上得到了最小队列的索引。或者队列中对象数量最少的索引。我添加了另一个版本。