刪除它,我有這樣的功能:C++函數返回值,從陣列
int findnext(int nr,int counter,int v[]){
int i,newnr=-1;
for(i = counter-1; i >= 0; i--){
if(v[i] > nr){
newnr = v[i];
}
}
if(newnr == -1) return -1;
else return newnr;
}
什麼這個函數的作用是,它發現在數組的下一個大數目,如果不能找到一個,它返回-1;我想要做的是,我用這個,我喜歡這個主類後...
int main(){
int a=1;counter=3;
int v[3]={-1,2,3}; //v[0] is -1 because a=1
a = findnext(a,counter,v);
}
...更換V [1]與-1(因爲它找到了一個大我的主類編號爲2)並將v [0]上的-1替換爲1(之前的變量a)。這可能嗎?
預先感謝您!
額外的信息:[5]
INT v可以是{1,1,3,3,4},開始與(它可以具有多於一個的相同元素)
INT v [5]可以是{1,4,6,7,9},開始與(未{1,2,3,4,5 ...})
對數組進行排序。
如果函數的結果是-1,那麼它使陣列到它的原始狀態
數組是永遠不會有一個數字,它是小於0。
實施例:
該程序的開頭是: v [5] = {1,6,7,9,9};和a = -1;
我執行函數:a = 1; v [5] = { - 1,6,7,9,9};
我再次執行它和:A = 6; v [5] = {1,-1,7,9,9};
我再次執行它和:A = 7; v [5] = {1,6,-1,9,9};
我再次執行它和:一個= 9; v [5] = {1,6,7,-1,9-};
我再次執行它:a = 9; v [5] = {1,6,7,9,-1};
我再次執行它:a = -1; v [5] = {1,6,7,9,9);
你的例子似乎不符合你所要求的,或你的功能。看來你的函數返回的數組中的第一個值比傳入的值高(另外,注意,函數末尾的'if'條件是不必要的。) – gmiley
是的,我問的是我怎麼能這樣做它做我想要的。 –