矩陣乘法運算編寫函式實現矩陣A2行3列與矩陣B相乘

2021-03-03 22:04:36 字數 2961 閱讀 7907

1樓:匿名使用者

#include

void main(void)

;printf("輸入陣列a:

\n");

for(i=0;i<2;i++)

for(j=0;j<3;j++)

scanf("%d",&a[i][j]);

printf("輸入陣列b:\n");

for(i=0;i<3;i++)

for(j=0;j<2;j++)

scanf("%d",&b[i][j]);

for(i=0;i<2;i++)

}printf("輸出陣列c:\n");

for(i=0;i<2;i++)}

2樓:匿名使用者

練練手:

#include

int main()

;int b[3][2] = ;

int c[2][2] ;

int i=0,j=0,k=0;

for(;i<2;i++)

for(k = 0;k<2;k++)

}for(i=0;i<2;i++)

return 0;}

編寫一個函式實現矩陣a(2行3列)與矩陣b(3行2列)相乘,乘積放在c陣列中。在主

3樓:匿名使用者

#include

using namespace std;

int main()

;int b[3][2] = ;

int c[2][2] = ;

cout << "輸入矩陣a(

2行3列)元素的各個值:" << endl;

for(int i = 0;i < 2;i++)for(int j = 0;i < 3;j++)cin >> a[i][j];

cout << "輸入矩陣b(3行2列)元素的各個值:" << endl;

for(int i = 0;i < 3;i++)for(int j = 0;i < 2;j++)cin >> b[i][j];

for(int i = 0;i < 2;i++)for(int j = 0;i < 2;j++)for(int k = 0;k < 3;k++)c[ i ][ j ] += a[j][k] * b[k][j];

cout << "結果為: " << endl;

for(int i = 0;i < 2;i++)return 0;}

c語言:輸入一個2行3列的矩陣a和一個3行4列的矩陣b,計算兩矩陣的乘積

4樓:曉龍修理

解題過程如下:

#include ;#include

#define l 2,#define m 3,#define n 4

}printf("\n");}return;}int main(void)};

double b[m][n] = };double c[l][n] = };int i = 0, j = 0, k = 0;

printf("\ngenerate a[%d][%d]:\n", l, m);

genarr(&a[0][0], l, m);

printmatrix(&a[0][0], l, m);

printf("\ngenerate b[%d][%d]:\n", m, n);

}}printf("\ncalc c[%d][%d]:\n", l, n);

性質:矩陣相乘最重要的方法是一般矩陣乘積。它只有在第一個矩陣的列數(column)和第二個矩陣的行數(row)相同時才有意義  。

一般單指矩陣乘積時,指的便是一般矩陣乘積。一個m×n的矩陣就是m×n個數排成m行n列的一個數陣。由於它把許多資料緊湊地集中到了一起,所以有時候可以簡便地表示一些複雜的模型,如電力系統網路模型。

當矩陣a的列數(column)等於矩陣b的行數(row)時,a與b可以相乘。矩陣c的行數等於矩陣a的行數,c的列數等於b的列數。乘積c的第m行第n列的元素等於矩陣a的第m行的元素與矩陣b的第n列對應元素乘積之和。

當提及「矩陣相乘」或者「矩陣乘法」的時候,並不是指代這些特殊的乘積形式,而是定義中所描述的矩陣乘法。在描述這些特殊乘積時,使用這些運算的專用名稱和符號來避免表述歧義。

把給定的圖轉為鄰接矩陣,即a(i,j)=1當且僅當存在一條邊i->j。令c=a*a,那麼c(i,j)=σa(i,k)*a(k,j),實際上就等於從點i到點j恰好經過2條邊的路徑數(列舉k為中轉點)。

類似地,c*a的第i行第j列就表示從i到j經過3條邊的路徑數。同理,如果要求經過k步的路徑數,只需要二分求出a^k即可。

5樓:匿名使用者

#include

int main()}}

for(x=0;x<2;x++)

return 0;}

c語言求出矩陣a和矩陣b的乘積,結果存入矩陣c中,並按矩陣的形式將c列印輸出。其中a是3行2列陣列

6樓:匿名使用者

#include

int main()

,i,j,k,temp;

printf("輸入陣列

a[3][2]: \n");

for(i=0;i<3;i++)//初始陣列a[3][2]的錄入for(j=0;j<2;j++)

scanf("%d",&a[i][j]);

printf("輸入新的陣列b[2][4]: \n");

for(i=0;i<2;i++)//錄入陣列b[2][4]for(j=0;j<4;j++)

scanf("%d",&b[i][j]);

for(i=0;i<3;i++)

}printf("a、b矩陣相乘後的c矩陣:\n");

for(i=0;i<3;i++)

return 0;

}**除錯成功哈。。。

矩陣的乘法運算怎麼算,矩陣乘法如何計算詳細步驟

矩陣的乘bai法,首先要判定能du不能作乘法,即要求 zhi作乘法時,dao前一個矩陣的列數與後一個回矩陣的行數相等答。設矩陣a是m n的 矩陣b是n s的,乘法ab後得到矩陣c,則c為m s的,如下圖所示。矩陣c的第i行第j列的元素cij就是取a的第i行元素 b的第j列元素,然後對應相乘。舉個實際...

矩陣與32矩陣乘法公式,33矩陣與32矩陣乘法公式

3 3矩陣與3 2矩陣相乘結果 a a b c d e f g h i b a d b e c f ab等於 aa bb cc ad be cf da eb fc dd ee ff ga hb ic gd he if 矩陣含義 1 簡單是說是 多元一次方程組的係數排列的有行有列的數表。2 我們用主要...

矩陣怎麼計算,矩陣乘法如何計算?詳細步驟

比如乘法ab 一 1 用a的第1行各個數與b的第1列各個數對應相乘後加起來,就是乘法結果中第1行第1列的數 2 用a的第1行各個數與b的第2列各個數對應相乘後加起來,就是乘法結果中第1行第2列的數 3 用a的第1行各個數與b的第3列各個數對應相乘後加起來,就是乘法結果中第1行第3列的數 依次進行,直...