-2
我試圖寫一個函數在一個數組求最大值,而無需使用任何C++內置在像排序,max_element功能等C++:功能爲最大數組值工作不當
我已經開發了這個下面的代碼,並且它最終決定了「最大值」,但它並不總是正確的:
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;
}
}
}
的farray []是未排序的,而只是一個數據類型(例如(123.25,234.3名單的組成,345.12))。
有時它似乎甚至不會在整個數組中迭代,就好像它只是找到它認爲是最大值的東西,然後立即返回該值。另外,如果我調整函數來找到一個最小值,我會得到一個類似的結果,它幾乎是最小值,但並不完全。
任何幫助都很讚賞!
'maxValue是farray的大小'偉大的名字!無論如何,你可以通過一個調試器輕鬆搞定。 – juanchopanza
將'return max'放在循環之外。就這樣。 – skypjack
解決此類問題的正確工具是您的調試器。在*堆棧溢出問題之前,您應該逐行執行您的代碼。如需更多幫助,請閱讀[如何調試小程序(由Eric Lippert撰寫)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。至少,你應該[編輯]你的問題,以包含一個[Minimal,Complete,and Verifiable](http://stackoverflow.com/help/mcve)例子來重現你的問題,以及你在調試器中所做的觀察。 –