Re: [問題] 矩陣的建立

看板C_Sharp (C#)作者 (消失)時間18年前 (2007/04/28 21:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
我發現兩個問題,不過我沒有實際去compile,不知道是否會發生我預測的問題 第一個是,請你把j++改成++j,先加後加有時候會影響甚大 第二個是,你在創造狀態矩陣的時候 可以這樣初始化 int[][] stat = new int[3][]; 但是在迴圈中,妳是將j指派到每一個二維索引,必須對其初始化 也就是 stat[i][j] = new int {j}; 但是這樣不符合new的用法,所以這個方法我早試過了... 我的程式是使用strin[][] Tower直接紀錄每個塔的字串值 譬如"--+--"或" -+- ",來表示n=3的第3與第2碟盤 然後在move裡面再寫一個editor副程式,用來搬移字串值 搬移完畢之號,editor副程式會重新reset原新的參照索引 在editor副程式內也有一個detect副程式用來確認每個塔的第幾層是空的 所以move傳給editor的多載是"來源塔"與"目的塔" editor會呼叫detect來傳回 "來源塔的第幾層為最高碟盤層"與"目的塔的第幾層為最高空層" 然後editor收到這些參照索引進行string搬移與reset 於是完成河內塔的工作,我自己是覺得寫的很沒效率,所以才想去找是否有分析堆置的方法 ※ 引述《Dragoon (好無聊...)》之銘言: : 我的問題好像不是問得很好 : 我要的矩陣不用寫出來 : 只要建立在程式內就好 : 我寫了以下的矩陣 : { : int n; : Console.Write("請輸入陣列數:"); : disks = Int32.Parse(Console.ReadLine()); : int[][] stat; : stat = new int[3][]; : for (int i = 0; i < 2; ++i) : { : if (i == 0) : { : for (int j = 0; j <= n; j++ ) : stat[i][j] = j ; : } : else : { : for (int j = 0; j <= n; j++ ) : stat[i][j] = 0; : } : } : 想說做出來的矩陣應該就是我想要的 : 卻發現程式可以執行 : 但輸入數字後 : 卻出現了奇怪的錯誤 : 不知道問題在哪@@ : ※ 引述《huangtim (消失)》之銘言: : : 首先呢,3 * n的矩陣 : : 他的第一行只能容納 0, 1, 2, ... n-1 : : 然後妳一定是賴副院長開的程設學生XD : : 妳一定是想寫河內塔作業吧,Hmm..妳的方法我已經用過了 : : 到後面可能會有輸出到螢幕上的瓶頸,所以我後來換了三套標記哪裡有碟盤的方法 : : Anyway..作業要自己寫:P : : 依照妳的需求如下~然後妳的是橫的,我的是直的,這不會有差別,寫橫的也是可以啦 : : 判斷輸入部分是否為整數請用try & catch去寫一個副程式檢查,我就不多加著墨了 : : { : : Console.Write("Please enter a integer number : "); : : int n = Int32.Parse(Console.ReadLine()); : : Console.WriteLine("Press any key to build the Array..."); : : Console.ReadLine(); : : int i, j; : : string output = ""; : : int[][] array = new int[n][]; : : for (i = 0; i < n; ++i ) : : { : : array[i] = new int[] { i, 0, 0 }; : : } : : for(i = 0; i < n; ++i) : : { : : for (j = 0; j < 3; ++j) : : { : : if (j == 2) : : output += array[i][j] + "\n"; : : else : : output += array[i][j] + ","; : : } : : } : : Console.WriteLine(output); : : Console.ReadLine(); : : } -- Http://www.wretch.cc/blog/huangtim 內無正妹,廢渣一枚 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.74.120.233
文章代碼(AID): #16Cr8BZ5 (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #16Cr8BZ5 (C_Sharp)