我是多維數組的新手,我現在正在努力解決的問題如下:我有一個「maxn」數天,以及這幾天記錄的最高和最低溫度,我必須用這些數據做某些事情。其中一件事是確定溫度低於和高於0的日子(即:最低記錄溫度低於最高溫度)。該程序必須輸出發生此類事件的天數以及這些天的索引。但是,無論我使用哪個循環以及如何,我都會搞砸它,要麼我得到一些絕對不相關的東西或無限循環。這是我到目前爲止:C++:使數組滿足一定要求的二維數組的元素
void abovebelow (int n, float days[maxn][2]{
int counter=0;
float a[maxn];
for (int i=0; i<n; i++){
for (int j=0; j<n; j++){
if ((days[i][0]<0 && days[i][1]>0) || (days[i][1]<0 && days[i][0]>0)){
counter++;
i=a[j];
cout<<counter<<" "<<a[j]<<" ";
}
}
}
有函數聲明中有語法錯誤.. – SuperSaiyan
注意'maxn'在函數聲明沒有做任何事情。你的函數和聲明爲'void abovebelow(int n,float days [] [2])'或者'void abovebelow(int n,float(* days)[2])''一樣。在C++中數組永遠不會被值傳遞;當一個數組傳遞給一個函數時,它被隱式轉換爲一個指向其初始元素的指針。當你看到一個數組類型的函數參數時,它實際上和指針相同。 –