[問題] for 的條件式內有兩個迴圈(c++)

看板C_and_CPP作者 (盜版神話)時間10年前 (2013/12/17 16:35), 編輯推噓5(5016)
留言21則, 11人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 我想請問一下 C++中 for的條件式裏頭是否可以有兩個迴圈去判斷是否成立? 我同學是跟我說無法判斷,可是我還是覺得怪怪的 因為他們通通在if()裏頭呀? 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) if( for(i=0;i<21;i++){ for(j=0;j<21;j++){ T[h+1][i][j]==T[h][i][j];}} ) {break;} 補充說明(Supplement): 我的break是要break更外面的for迴圈 我沒有打出來 我認為就去操作每一個i,j 看是否每一個i,j所對應到的T[h+1]==T[h] 如果都有 就是傳給if正確 然後就break 後來是有寫出另外一種做法 可是我很想知道 我這邊是錯在哪裡? 要如何改進? BTW 矩陣是否有上限, T[n][x][y] n的大小 是否有規定不能太大 我用400還可以 用到800就怪怪的了 感謝>_< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.164.169.199

12/17 16:48, , 1F
break是指當前的迴圈終止
12/17 16:48, 1F

12/17 16:54, , 2F
這個問題,你寫程式把break放進不同地方測一下就知道
12/17 16:54, 2F

12/17 16:56, , 3F
陣列是有大小限制的
12/17 16:56, 3F

12/17 16:57, , 4F
#1Ffc14L4 陣列大小可以修改編譯器設定調整
12/17 16:57, 4F

12/17 16:57, , 5F
呃, 我從來沒看過 if() 裡放 for() 的 @@
12/17 16:57, 5F

12/17 16:57, , 6F
就算單層也沒人這樣擺 orz
12/17 16:57, 6F

12/17 16:58, , 7F
解決方法1.加一個判斷FLAG讓外層break
12/17 16:58, 7F

12/17 16:58, , 8F
這寫法從根本上就是語法錯誤 @@
12/17 16:58, 8F

12/17 16:58, , 9F
一般這種做法就是設一個旗標統整所有比較
12/17 16:58, 9F

12/17 16:59, , 10F
2.寫成function return 3.goto
12/17 16:59, 10F

12/17 16:59, , 11F
在迴圈結束後再用 if 判斷旗標進行動作
12/17 16:59, 11F

12/17 17:03, , 12F
關於陣列大小 精華區-3-3-4
12/17 17:03, 12F

12/17 17:04, , 13F
4. try catch (馬上被開除)
12/17 17:04, 13F

12/17 20:40, , 14F
這樣寫真的有點糟糕
12/17 20:40, 14F

12/17 20:43, , 15F
你應該在進if()之前檢查
12/17 20:43, 15F

12/17 20:47, , 16F
....世界奇觀
12/17 20:47, 16F

12/17 21:32, , 17F
if 裡面要放expression吧
12/17 21:32, 17F

12/17 22:22, , 18F
這就像文法,你隨便組合的句子,電腦無法理解。
12/17 22:22, 18F

12/17 22:58, , 19F
原po是要離職了想要搞其他同事吧
12/17 22:58, 19F

12/17 23:23, , 20F
我compile過不了 !??
12/17 23:23, 20F

12/18 02:26, , 21F
標題與內容不符,封面不對人。
12/18 02:26, 21F
文章代碼(AID): #1Ii0o_sk (C_and_CPP)