Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.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++内置函数,如排序、Max元素等。_C++_Arrays_Max - Fatal编程技术网

C++;:最大数组值函数工作不正常 我试图编写一个函数来寻找数组中的最大值,而不使用任何C++内置函数,如排序、Max元素等。

C++;:最大数组值函数工作不正常 我试图编写一个函数来寻找数组中的最大值,而不使用任何C++内置函数,如排序、Max元素等。,c++,arrays,max,C++,Arrays,Max,我在下面开发了这段代码,它最终确定了“最大值”,但并不总是正确的: double dispMax(int farray[], int maxValue) { int max = farray[0]; for (int x = 0; x < maxValue; x++) //maxValue is size of farray { if (farray[x] > max) { max = farra

我在下面开发了这段代码,它最终确定了“最大值”,但并不总是正确的:

double dispMax(int farray[], int maxValue)
{

    int max = farray[0];

    for (int x = 0; x < maxValue; x++) //maxValue is size of farray
    {

        if (farray[x] > max)
        {

            max = farray[x];
            return max;

        }

    }

}
double dispMax(int-farray[],int-maxValue)
{
int max=farray[0];
对于(int x=0;x最大值)
{
最大值=远射线[x];
返回最大值;
}
}
}
farray[]是未排序的,仅由一系列数据类型组成(例如(123.25234.3345.12))

有时它看起来甚至没有在整个数组中迭代,几乎就像它只是找到了它认为是最大值的东西,然后立即返回该值

另外,如果我调整函数以找到一个最小值,我会得到一个类似的结果,即几乎是最小值,但不完全是最小值

非常感谢您的帮助

报税表放错地方了 Supose数组是1 2 3

所以max=1

然后当它变成第二个值时

farray[1]=2它大于1,因此返回(?)

将返回放在for循环之外,让循环遍历所有数组

double dispMax(int farray[], int maxValue)
{
    // need to be double
    double max = farray[0];
    for (int x = 0; x < maxValue; x++) //maxValue is size of farray
    {
        if (farray[x] > max)
        {
            max = farray[x];    
        }
    }
    return max;
}
double dispMax(int-farray[],int-maxValue)
{
//需要加倍
双最大值=法拉利[0];
对于(int x=0;x最大值)
{
最大值=远射线[x];
}
}
返回最大值;
}

maxValue是法拉利的大小
好名字!无论如何,您可以通过调试器轻松地解决这个问题。将
return max
从循环中排除。仅此而已。解决此类问题的正确工具是调试器。在询问堆栈溢出之前,应该逐行检查代码。如需更多帮助,请阅读。至少,您应该在问题中包含一个重现问题的示例,以及在调试器中进行的观察。在返回最大值之前,您应该遍历整个数组。123.25不是
int