0
無論我如何嘗試,我真的不能通過這個問題。正如你所看到的,我正在使用2維數組中的指針進行排序。排序2維數組使用指針
int i,temp;
int *ptr;
int arry[1][8]={12,13,9,1,8,9,4,3};
int col,row;
cout<<"First: ";
for(i = 0; i< 8;i++){
cout<<" "<<arry[0][i];
}
cout<<endl;
for(col=0;col < 8;col++){
for(row=col+1;row <= 8;row++){
if(*(*(arry + 0) + col) > *(*(arry + 0) + row)){
temp= *(*(arry + 0) + col);
*(*(arry + 0) + col) = *(*(arry + 0) + row);
*(*(arry + 0) + row) = temp;
}
}
}
cout<<"Output:";
for(i=0;i<8;i++)
cout<<" "<<arry[0][i];
不是不一樣*(*(樣品+ I)+ j)的? – Shulz
你是對的,我有一個小小的錯字,並且在我仍然可以編輯帖子時沒有注意到它。所以:我認爲你真正需要做的是這個:'*(*(arry + 0)+ col)'而不是'*(* arry + 0)+ col'。 (你也有一些其他的索引問題,但是應該包括重要的部分,問題是,前綴運算符(比如dereference'*')比中綴運算符(比如'+')更高優先級。) – Xarn
I新的編程,但我看到的是temp不是一個數組,然後我在temp中分配一個2維數組。所以我認爲這可能是問題所在。只是我的想法。我真的被困在這個部分。 – Shulz