[問題] 資料數值跑掉 Dev-C++

看板C_and_CPP作者 (MTHong)時間14年前 (2011/11/01 22:23), 編輯推噓1(1012)
留言13則, 8人參與, 最新討論串1/1
開發平台(Platform):*[m Dev-C++ 矩陣P數值經過一個迴圈處理矩陣S,矩陣P數值跑掉(不知從哪來)。 餵入的資料(Input):*[m 10 1 0 0 0 -100 0 -100 0 0 0 0 預期的正確結果(Expected Output):(同上) 0 0 0 -100 0 -100 0 0 0 0 錯誤結果(Wrong Output):*[m -48756.691 100000000.000 100000000.000 -15236.465 285324.219 -100.000 0.000 0.000 0.000 0.000 有交叉比對過是經過for迴圈(263-267)造成資料錯誤,但是找不到原因。 程式碼(Code):(請善用置底文網頁, 記得排版) *[m http://codepad.org/0L0Dyqwm ◆ From: 140.113.134.195 ※ 編輯: KBMJ 來自: 140.113.134.195 (11/01 22:24) ※ 編輯: KBMJ 來自: 140.113.134.195 (11/01 22:25) ※ 編輯: KBMJ 來自: 140.113.134.195 (11/01 22:26) ※ 編輯: KBMJ 來自: 140.113.134.195 (11/01 22:29)

11/01 22:29, , 1F
.....................................................
11/01 22:29, 1F

11/01 22:31, , 2F
語焉不詳....
11/01 22:31, 2F

11/01 22:56, , 3F
這再問什麼啊...
11/01 22:56, 3F

11/01 23:43, , 4F
what are you taking about?
11/01 23:43, 4F
"可能"是我沒用動態宣告,太多矩陣造成記憶體位置重複。 我補上完整的程式300多行,沒整理加減看看... 主要在我給矩陣S預設值0的迴圈,造成矩陣P的1-5列也變成0(或其他原因造成), 程式再往後跑矩陣P的1-5列又變成其他資料,但是我除了讀取矩陣P後馬上輸出到txt, 就在也沒動到矩陣P的資料。 http://codepad.org/0L0Dyqwm ※ 編輯: KBMJ 來自: 140.113.64.177 (11/02 00:22) ※ 編輯: KBMJ 來自: 140.113.64.177 (11/02 00:32)

11/02 00:26, , 5F
建議您使用置底文的網址貼連結,BBS貼起來實在不容易看
11/02 00:26, 5F
※ 編輯: KBMJ 來自: 140.113.64.177 (11/02 00:35)

11/02 00:36, , 6F
謝謝你的建議
11/02 00:36, 6F
※ 編輯: KBMJ 來自: 140.113.64.177 (11/02 00:36) ※ 編輯: KBMJ 來自: 140.113.64.177 (11/02 08:18)

11/02 09:14, , 7F
C的陣列是從0開始的 你都for(1~n)當然就蓋到後面了
11/02 09:14, 7F

11/02 09:55, , 8F
你好 請參考我的code(255-275) 我附上輸出結果
11/02 09:55, 8F
0.000000 <---bStructure coordinate number 1 0.000000 <---bStructure coordinate number 2 0.000000 <---bStructure coordinate number 3 -100.000000 <---bStructure coordinate number 4 0.000000 <---bStructure coordinate number 5 -100.000000 <---bStructure coordinate number 6 0.000000 <---bStructure coordinate number 7 0.000000 <---bStructure coordinate number 8 0.000000 <---bStructure coordinate number 9 0.000000 <---bStructure coordinate number 10 0.000 <---cStructure coordinate number 1 0.000 <---cStructure coordinate number 2 0.000 <---cStructure coordinate number 3 0.000 <---cStructure coordinate number 4 0.000 <---cStructure coordinate number 5 -100.000 <---cStructure coordinate number 6 0.000 <---cStructure coordinate number 7 0.000 <---cStructure coordinate number 8 0.000 <---cStructure coordinate number 9 0.000 <---cStructure coordinate number 10 -48756.691406 <---Structure coordinate number 1 100000000.000000 <---Structure coordinate number 2 100000000.000000 <---Structure coordinate number 3 -15236.464844 <---Structure coordinate number 4 285324.218750 <---Structure coordinate number 5 -100.000000 <---Structure coordinate number 6 0.000000 <---Structure coordinate number 7 0.000000 <---Structure coordinate number 8 0.000000 <---Structure coordinate number 9 0.000000 <---Structure coordinate number 10 bStructure 那邊是正確的,cStructure開始有問題,再後面數字不知從哪來的... ※ 編輯: KBMJ 來自: 140.113.134.195 (11/02 09:58)

11/02 10:01, , 9F
仔細想想 kaomark 說的是什麼意思。
11/02 10:01, 9F

11/02 10:11, , 10F
我不了解,我給矩陣S初始值0,會造成矩陣P變動,請指教..
11/02 10:11, 10F

11/02 10:13, , 11F
我簡單學過fortran,C就更不了解了。
11/02 10:13, 11F

11/02 11:41, , 12F
一個int a[4]; 它可以用的格子是 a[0] a[1] a[2] a[3]
11/02 11:41, 12F

11/02 13:17, , 13F
感謝 修改程式中
11/02 13:17, 13F
文章代碼(AID): #1Ei03h6g (C_and_CPP)