我正在嘗試編寫一個程序來查找並打印此二維數組中的所有局部最大值,僅查看第二列。認爲我在正確的軌道上,但不知道如何繼續,並沒有給出正確的輸出。謝謝。C++在二維數組中尋找局部最大值
int main()
{
float array[7][2] = { { 1, 22 }, { 2, 15 }, { 3, 16 }, { 4, 14 }, { 5, 13 }, {6,19}, {7,12} };
int i;
float before = 0, after = 0, localmax = 0;
int Index = 0;
for (i = 0; i<7; i++)
{
if ((array[i][1] >= before) && (array[i][1] >= after))
{
before = array[i-1][1];
after = array[i + 1][1];
localmax = array[i][1];
Index = i;
}
}
cout << "The local maxima in the array are " << localmax << endl;
cout << "The corresponding values in the array are " << array[Index][0] << endl;
_getch();
return 0;
}
它給出了什麼輸出,你期望的輸出是什麼? – Erik
本地最大值爲15,但很明顯需要22,16和19而不是 – America32
「所有本地最大值」,但您的輸出是單個「localmax」......所以這是什麼? –