C_and_CPP 板


LINE

開發平台(Platform): (Ex: Win10, Linux, ...) Android app模擬c++ 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)c++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 各位 前輩:您們好。 因為是c++新手,還請幫忙指導以下的問題, 因為還不太熟悉,懇請幫忙提供簡單明瞭的簡單方式解惑,先謝謝 各位了。 感恩。 else if(c*2-1 == a && c+1 <= b ) { cout << "*"; } else if(c*2-1 == b && c+1 <= a ) { cout << "*";} else if(c*2-2 == a && c+2 <= b ) { cout << "*";} else if(c*2-2 == b && c+2 <= a ) { cout << "*";} 這一串程式碼是在兩個for回圈內。 /*需要將以上程式碼取代成以下程式碼。*/ e若是int設定為 數字1或c-2等。 然後在上述的兩個for其中一個放入 e++或e--最多只能顯示一個e值,不能多個e值放入else if內重複判斷結果並顯示結果。 else if(c*2-e == a && c+e <= b ) { cout << e<<"*"; } else if(c*2-e == b && c+e <= a ) { cout << e<<"*";} 請問 該如何修改比較好? 如不符發文規定還請幫忙通知,會嘗試調整文章內容的,謝謝您(們)。 …(@) 餵入的資料(Input): 不適用此欄位,程式已寫出,需要簡化,因為不簡化 可顯示圖像只能限定在特定的輸入 資料顯示,除非自行再次加入else if條件才可。…(*) 預期的正確結果(Expected Output): 同上(*)內容。 錯誤結果(Wrong Output): 同上(*)內容。 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) 同上(@)內容。 補充說明(Supplement): 為了減少文章篇幅,所以盡可能縮減程式碼內容,擷取需要詢問的地方,以及使用(*) 及(@)標記符號敘述文章內容。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.165.210.129
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1535290983.A.E03.html
1F:→ commandoEX: 你可以讓e設成陣列變成e[i]就能在迴圈中有很多個e啦 08/26 22:17
2F:推 stupid0319: 完全看不懂原PO想要表達的內容,看來我還是太淺了 08/26 22:32
3F:→ MOONRAKER: 看不懂+1 非常深奧 08/26 22:42
4F:推 jerryh001: 我覺得你最好列出完整code或是完整問題 08/27 00:55
5F:推 CoNsTaR: Linear types?確保變數只能被使用一遍? 08/27 04:17
6F:推 s4300026: if(e==1戌e==c-2){則使用修改後的方法} 08/27 08:32
7F:推 s4300026: 聽起來就是原po有兩種輸入情境(e=1和e=c-2),但他目前 08/27 08:39
8F:→ s4300026: 只寫了一種判斷方法(e=1),然後他想要一種判斷方法可以 08/27 08:39
9F:→ s4300026: 一次判斷兩種情境(即他所述的新方法),但他不知道要 08/27 08:39
10F:→ s4300026: 怎麼過濾掉除了上述兩種情境的方法進入判斷式 08/27 08:39
11F:推 s4300026: 以上為水晶球腦補的結果 08/27 08:41
12F:→ sarafciel: I think you can describe your problem in English. 08/27 08:53
13F:→ sa12e3: 謝謝各位,但發現若要使用陣列 c*2及a,b等數值貌似要一同 08/27 10:51
14F:→ sa12e3: 轉換成陣列才可運行? s4300026大大的解說是正確的,就是 08/27 10:51
15F:→ sa12e3: 希望能有此效果,謝謝 您的細部說明。 08/27 10:51
16F:→ sa12e3: 但又好像是侷限於linear types ,很多不確定的地方,還請 08/27 11:00
17F:→ sa12e3: 幫忙指點迷津,感謝。 08/27 11:00
18F:→ sa12e3: e =1 or e = c-2,兩者皆可以,只是轉換的方式在回圈內一 08/27 11:04
19F:→ sa12e3: 個是遞增,另一個是遞減,不管那一個,只要能將多個e值放 08/27 11:04
20F:→ sa12e3: 入同一個else if做多次判斷及做出多個判斷後結果顯示即可 08/27 11:04
21F:→ sa12e3: 。 08/27 11:04
22F:→ sa12e3: 看來是不用將a,b,c一同轉換成陣列,這邊我誤會了,應該可 08/27 11:06
23F:→ sa12e3: 行,我再試試看,謝謝各位。 08/27 11:06
24F:→ sa12e3: 陣列使用了還是只會有一種結果顯示(僅有一個e值進入else 08/27 11:29
25F:→ sa12e3: if判斷) 這個問題真的是linear types嗎? 08/27 11:29
26F:推 Killercat: 你這問題其實就是COR(Chain of Responbility)最常解決 08/27 20:46
27F:→ Killercat: 的問題,不過由於你的statement過短,寫成COR就太搞剛 08/27 20:46
28F:→ sa12e3: 不好意思,是否可請 前輩提供cor簡單的範例? 謝謝 您。 08/28 09:43
29F:→ sa12e3: 另外補充,這邊簡化前的程式碼中將被e值取代的值,不只是 08/28 09:43
30F:→ sa12e3: 1,2可無限延伸(3,4,5…)延伸到哪裡依照使用者輸入的數 08/28 09:43
31F:→ sa12e3: 值進行規範,足以顯示畫圖的範圍即可。這部分相信自己有 08/28 09:43
32F:→ sa12e3: 方式可處理此限制範圍的。 但是目前仍卡在將此else if進 08/28 09:43
33F:→ sa12e3: 行多次判斷的問題。 08/28 09:43
34F:推 s4300026: 話說可以給一下雙迴圈的變數嗎? 他們跟e有關係嗎? 08/28 12:03
35F:→ sa12e3: c是使用者輸入條件一個int數字(同時是界定範圍的一個值) 08/28 12:33
36F:→ sa12e3: ,其他的a,b是兩個for使用的變數。 08/28 12:33
37F:→ sa12e3: 兩個for中的a,b與e可由c來界定範圍,e可設定為與a或b或c 08/28 12:44
38F:→ sa12e3: 相關,也可讓e自己設定為與a或b或c無關,但最後不管是哪 08/28 12:44
39F:→ sa12e3: 個還是要有c來規範e避免造成不需要的影響。 不好意思,好 08/28 12:44
40F:→ sa12e3: 像說明的不太明白,就跟一般用*畫圖的題目是相同的,還請 08/28 12:44
41F:→ sa12e3: 前輩幫忙給個引導cor的方式,感謝。 不是很了解cor,查了 08/28 12:44
42F:→ sa12e3: cor感覺複雜,抓不到用在這裡的重點方法。 08/28 12:44
43F:→ sa12e3: https://ideone.com/cuV48d 08/28 13:23
44F:→ sa12e3: 先貼目前的程式碼,之後再附加其他部分。 08/28 13:34
45F:→ sarafciel: https://ideone.com/jW7G2M 你把問題拆難了 08/28 15:02
46F:→ sarafciel: 內層的迴圈要記得縮排 還有給變數有意義的名稱 08/28 15:06
47F:→ sa12e3: 好厲害,謝謝 您,研究一下,知道要給變數有意義的名稱及 08/28 15:18
48F:→ sa12e3: 縮排很重要,但目前急於學習方法,所以較注重於可先寫出 08/28 15:18
49F:→ sa12e3: 來內容,之後再更改習慣。 感謝 前輩提供另類寫法及提醒 08/28 15:18
50F:→ sa12e3: 編寫習慣的重要性。 08/28 15:18
51F:推 yvb: 若可用 ?: 及 abs() 就更方便 ==> https://ideone.com/lcRBcG 08/28 21:58
52F:→ sa12e3: 感謝 您的提供,原來還有這樣的寫法。 08/29 08:27
53F:→ sa12e3: 真的沒有想到, 前輩們果然厲害:) 08/29 08:28
54F:→ Killercat: COR精神就是連續一大串傳回bool的function, 一個接一個 08/29 21:33
55F:→ Killercat: 第一個function會檢查自己能否處理 能就丟true 不能就 08/29 21:33
56F:→ Killercat: false 給下一個處理。你這例子是邏輯過於簡單 COR不合 08/29 21:33
57F:→ Killercat: 算,只是順便提一下一般大量if-else是用COR處理較常見 08/29 21:34
58F:→ sa12e3: 謝謝 前輩們的指導,受益良多。 08/31 08:59







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BuyTogether站內搜尋

TOP