[問題] 矩陣變換

看板C_and_CPP (C/C++)作者 (聽天由命)時間15年前 (2010/12/07 23:26), 編輯推噓1(1012)
留言13則, 3人參與, 最新討論串1/1
void matrix_transpose(int *TA,int n) { int tmp[m][m]={0}; int i,j; // --- Write your own codes here --- for(i=0;i<m;i++){ for(j=0;j<m;j++){ tmp[i][j]=TA[j][i]; } } for(i=0;i<m;i++){ for(j=0;j<m;j++){ TA[i][j]=tmp[i][j]; } } } 主要只是將TA矩陣倒過來 但是一直顯示invalid type 請問是哪裡錯了 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.60.48

12/07 23:27, , 1F
int *TA ?????
12/07 23:27, 1F

12/07 23:28, , 2F
前面有宣告了...這是副程式 抱歉忘了說 還有m也是
12/07 23:28, 2F

12/07 23:30, , 3F
我是說 你覺得subroutine裡的int *TA這樣是對的嗎?
12/07 23:30, 3F

12/07 23:35, , 4F
請問怎麼改呢?
12/07 23:35, 4F

12/07 23:37, , 5F
不知道 要看你呼叫時給的陣列是什麼
12/07 23:37, 5F

12/07 23:40, , 6F
tmp[i][j]=TA[j][i];錯的程式碼是這排 invalid
12/07 23:40, 6F

12/07 23:42, , 7F

12/07 23:55, , 8F
TA[j] 就是int了… TA[j][i]會是…?
12/07 23:55, 8F

12/07 23:58, , 9F
可是前面程式在copy陣列時這樣用沒問題
12/07 23:58, 9F

12/08 00:00, , 10F
前面的TA是二維陣列 這裡的是指標
12/08 00:00, 10F

12/08 00:03, , 11F
用什麼方式修改比較好?
12/08 00:03, 11F

12/08 00:04, , 12F
置底十三誡之十二
12/08 00:04, 12F

12/08 00:10, , 13F
size會變的情況下參考版上其他二維陣列的文章
12/08 00:10, 13F
文章代碼(AID): #1C_b8Isl (C_and_CPP)
文章代碼(AID): #1C_b8Isl (C_and_CPP)