[問題]一個陣列中取最大值的問題??

看板C_and_CPP (C/C++)作者 (千里之外)時間16年前 (2010/06/02 19:34), 編輯推噓0(006)
留言6則, 3人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) #include <stdio.h> #include <stdlib.h> int main(void) { int A[2][4][3]={{{21,32,65}, {78,94,76}, {79,44,65}, {89,54,73}}, {{32,56,89}, {43,23,32}, {32,56,78}, {94,78,45}}}; int i,j,k,max=A[0][0][0]; for(i=0;i<2;i++) for(j=0;j<4;j++) for(k=0;k<3;k++) if(max<A[i][j][k]) A[i][j][k]=max; /*max=A[i][j][k];*/ printf("max=%d\n",max); system("pause"); return 0; } 這是一題在三維陣列中取最大值的題目, 我寫A[i][j][k]=max,出來卻是最小值; 而max=[i][j][k],出來才是最大值!? 這兩者有什麼不同嗎??? 希望得到的正確結果: 程式跑出來的錯誤結果: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) dev-c++ 有問題的code: (請善用置底文標色功能) 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.38.97.109

06/02 19:51, , 1F
這表示你不知道"等號"不是"等於", 應該是"assignment"
06/02 19:51, 1F

06/02 20:04, , 2F
「=」 是將右邊內容指定給左邊
06/02 20:04, 2F

06/03 01:23, , 3F
這樣寫就變成每當遇到跟我一樣大的人,就把它變的跟我一
06/03 01:23, 3F

06/03 01:24, , 4F
樣,然後我自己沒改變,所以最後讀取到的當然是max的初始
06/03 01:24, 4F

06/03 01:24, , 5F
值囉!所以其實使用 A[j][k][l] = max;的寫法能得到最小
06/03 01:24, 5F

06/03 01:25, , 6F
值也只是純屬巧合XD
06/03 01:25, 6F
文章代碼(AID): #1C1a79_e (C_and_CPP)
文章代碼(AID): #1C1a79_e (C_and_CPP)