作者james732 (好人超)
站內C_and_CPP
標題Re: [問題] 二微陣列相乘(運用涵式)
時間Thu May 27 00:38:33 2010
※ 引述《WGDS (蚊子)》之銘言:
: void fn(int x[][2], int y[][2], int result[][2]);
: int main(int argc, char *argv[]) <--以下是主程式
: {
: int a[2][2]={{1,2},{3,4}};
: int b[2][2]={{5,6},{7,8}}; <--此兩行為定義A和B矩陣
int c[2][2] = {0};
fn(a, b, c); <-- 執行結束後,c便是運算的結果
/* 下面這行應該會有問題,要印出結果請用迴圈一個一個印 */
: printf(" A x B = %3d ",&a,&b); <--PO出最後的結果
: (問題在此....)
: printf("\n");
: system("PAUSE");
: return 0;
: }
: void fn(int x[][2], int y[][2], int result[][2])
: {
: int i,j,k;
: for(i=0;i<2;i++){
: for(j=0;j<2;j++){
: for(k=0;k<2;k++){
result[i][j] = result[i][j] + x[i][k] * y[k][j];
: }
: }
: }
: } <--副程式結束
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.171.46
※ 編輯: james732 來自: 140.117.171.46 (05/27 00:38)
推 VictorTom:j大神速XD 05/27 00:39
推 WGDS:感謝j大高手~~!! 程式跑出來了!! 05/27 00:47
→ james732:我不是高手啦 板上的神人太多了 05/27 00:48
推 WGDS:所以我剛剛那種類似指標的寫法是錯誤的... 05/27 00:54
→ WGDS:不過要運用二維矩陣的涵式 不能用到指標嗎? 05/27 00:55
→ james732:我沒試過 int *a[] 這樣的寫法,您可以嘗試看看正不正確 05/27 01:00
→ james732:(坦白說我現在懶得試...XDDD) 05/27 01:00
推 nowar100:我記得int (*a)[2]這樣放參數列是可以的 05/27 09:22