因為我是C語言新手
所以雖然爬了板上有些大大的文
不過還是看不懂....(對不起我太笨)
所以只好在PO一篇 真對不起
我的題目是:
寫出一個2X2的矩陣相乘的程式碼
至於矩陣是給定的
A=(1 2) B=(5 6)
(3 4) (7 8)
將以上兩矩陣相乘
而我寫的程式碼如下:
#include <stdio.h>
#include <stdlib.h>
int fn(int *x[], int *y[]); <--設一個副程式(其實我不太明白我
的*x[]這樣定義是
否有錯?? )
int main(int argc, char *argv[]) <--以下是主程式
{
int a[2][2]={{1,2},{3,4}};
int b[2][2]={{5,6},{7,8}}; <--此兩行為定義A和B矩陣
printf(" A x B = %3d ",&a,&b); <--PO出最後的結果
(問題在此....)
printf("\n");
system("PAUSE");
return 0;
} <--主程式結束
int fn(int *x[], int *y[]) <--以下為副程式(也就是運算A*B矩陣)
{
int i,j,k;
int c[2][2]={0};
for(i=0;i<2;i++){
for(j=0;j<2;j++){
for(k=0;k<2;k++){
c[i][j] = c[i][j] + x[i][k] * y[k][j];
}
}
}
} <--副程式結束
我的問題在
我不了解如何把我副程式運算完的結果
傳回主程式
我找了板上的一些文章
不過都看不太懂
有高手可以幫幫我解答嗎....??
萬分感激....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.37.241.8
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):