[問題] 二維陣列用指標找最大值

看板Programming作者 (......)時間14年前 (2011/06/13 14:07), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/1
#include<iostream> #include<cstdlib> #include<string> #include<iomanip> using namespace std; int main(void){ int a[2][3]={{13,24,89},{3,6,10}}; int m,n; int max,min; for(m=0;m<2;m++){ for(n=0;n<3;n++){ max=*(*(a+0)+0); if(*(*(a+m)+n)>max){ max=*(*(a+m)+n);} } } for(m=0;m<2;m++){ for(n=0;n<3;n++){ min=**a; if(*(*(a+m)+n)<min){ min=*(*(a+m)+n);} } } cout<<max<<endl; system("pause"); return 0; } 以上是我的程式碼,但是跑出的結果cout<<max,竟然還是13,為什麼??? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.136.211.19

06/13 14:42, , 1F
max=*(*(a+0)+0); ?
06/13 14:42, 1F

06/13 14:42, , 2F
你每次都重取max=a[0][0]=13
06/13 14:42, 2F

06/13 14:43, , 3F
最後13和a[1][5]=10比 結果當然是13啊
06/13 14:43, 3F

06/13 15:13, , 4F
對吼,好白癡喔我= =
06/13 15:13, 4F

06/13 15:15, , 5F
把max=*(*(a+0)+0);寫在迴圈外就可以
06/13 15:15, 5F
文章代碼(AID): #1DzQaE8F (Programming)
文章代碼(AID): #1DzQaE8F (Programming)