[問題] 請教淺藍色的迴圈完全不動 @@

看板C_and_CPP (C/C++)作者 (Renaissance)時間16年前 (2010/04/12 20:22), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) 前面已找出有最小值的元素2,3,5,存入陣列Temp1[3]={2,3,5} count是計算具有最小值的計數器,count=3 接著將 TA[2][2],TA[2][3],TA[2][5] TA[3][2],TA[3][3],TA[3][5] TA[5][2],TA[5][3],TA[5][5] 分別存入Temp2[0][0],Temp2[0][1],Temp2[0][2]......... 下面的程式碼,先找Temp2[i][j]的最小值 再找出最小值對應哪個i和j 再根據i j指定值給ini_seqa[0]及ini_seq 逐步測試,到存入Temp2[i][j]都沒問題 讀出ff那行也沒問題 但跑不出ini_seq[0]及[1] 整個淺藍色的迴圈那完全不會跑 想請問可能是哪邊出了問題呢? 十分感謝 >///////< 程式碼如下: else { for(i=0;i<=same_front-1;i++) { for(j=0;j<=same_front-1;j++) { Temp2[i][j]=TA[Temp1[i]][Temp1[j]]; printf("Temp2[%d][%d]=%d\n",i,j,Temp2[i][j]); } } } 到這邊沒問題,Temp2[i][j]可正常讀出 fff=999; for(j=0;j<=same_front-1;j++) { if(TempFront2[i][j]<ff) { ff=TempFront2[i][j]; } } } printf("ff=%d\n",ff); 到這邊也沒問題,可得出最小ff for(i=0;i<=count-1;i++) { printf("i=%d\n",i); //用來看迴圈會不會跑 for(j=0;j<=count-1;j++) 完全不動 @@ { printf("i=%d\n",i); //這行也是完全跑不出來 @@ if(Temp2[i][j]=ff) { ini_seqa[0]=Temp1[i]; ini_seqa[1]=Temp1[j]; } } } 淺藍色的迴圈完全不會跑 @@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.164.86

04/12 21:20, , 1F
if(Temp2[i][j]=ff) 後面那兩行你確定只有[0]要被if括
04/12 21:20, 1F

04/12 21:20, , 2F
到, [1]那行要always讓它執行??
04/12 21:20, 2F
剛剛改了,不過還是只讀得出ff ini_seqa[0]跟[1]根本跑不出來 @@ ※ 編輯: rothschilds 來自: 61.229.164.86 (04/12 22:33)

04/12 22:35, , 3F
程式邏輯的問題,請善用 debugger 來找錯誤
04/12 22:35, 3F

04/12 22:35, , 4F
淺藍色的第一個for, 初始 i=0; 條件 j<=count-1; ??
04/12 22:35, 4F
這個我剛剛有改,貼過來時沒注意到 @@ ※ 編輯: rothschilds 來自: 61.229.164.86 (04/12 22:36)

04/12 22:36, , 5F
不小心答案推太快, 應該像j大說的, 自己練習用debugger
04/12 22:36, 5F

04/12 22:36, , 6F
來找錯誤XD
04/12 22:36, 6F

04/12 22:38, , 7F
抓出來了 @@ 真的只是j的問題 剛剛沒回存 @@
04/12 22:38, 7F

04/12 22:39, , 8F
怪的是程式可以跑...
04/12 22:39, 8F
文章代碼(AID): #1Bmn1qnN (C_and_CPP)
文章代碼(AID): #1Bmn1qnN (C_and_CPP)