看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) DevC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) no 問題(Question): 由input.txt讀取所需要的參數 第一行為矩陣大小 第二行為矩陣第一列數值 第三行為矩陣第二列值 余類推 例如 2 3 1 2 3 4 5 6 or 3 3 1 2 3 4 5 6 7 8 9 我想要將檔案的值讀取至一個A[m][n]的矩陣後 進行運算輸出成output.txt 但是我不知道如何將input檔案中的數值指派給矩陣A中的各元素 比如說第一個檔案 A[1][1]=1 A[1][2]=2 等等 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) int main() { int m,n; ifstream ifile("input.txt"); ifile >>m>>n; int A[m][n]; ifile.close(); ofstream ofile("output.txt"); ofile.close(); system("pause"); return 0; } 補充說明(Supplement): 因為系上(光電)計概只上了一點點點皮毛 然後我跑去修資工的線性代數 遇到程式作業有點摸不著頭緒 如果能確定矩陣大小我還可以用土法煉鋼 慢慢的 ifile>> a11 >> a12 >> a21 >> a22 ; 一個一個指派 但是遇到m*n矩陣 我就不知道該怎麼下手 懇請幫助 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.204.136 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1411629492.A.3BA.html
Killercat: 這是很標準的C++啊 怎麼標題會寫成C# :P 09/25 15:18
※ 編輯: alan810910 (140.115.204.136), 09/25/2014 15:21:39
Killercat: 另外回你問題 這做法有兩種 一種是最直觀的雙層for 09/25 15:19
Killercat: 另外一種很tricky而且不可移植 int A[m][m]的宣告法 09/25 15:19
Killercat: 在大多數機器上是Plain Memory 也就是很直觀的 09/25 15:20
Killercat: 00 01 02 03 10 11 12 13 20 21 22 23.... 09/25 15:21
我有想過用雙層for for (i=0;i<m;i++){ for (j=0;j<n;j++){ A[i][j]= // 問題出在這 我不知道該怎麼指派input檔特定的值給A[i][j] } } ※ 編輯: alan810910 (140.115.204.136), 09/25/2014 15:32:53 ※ 編輯: alan810910 (140.115.204.136), 09/25/2014 15:33:27
uj2003: ifile >> A[m][n] 09/25 16:00
uj2003: 阿 是 A[i][j] 09/25 16:06
成功了!! 感謝兩位 卡在這 腦袋沒有繞過來 ※ 編輯: alan810910 (140.115.204.136), 09/25/2014 16:10:58