矩陣A乘以B

2021-08-17 05:51:01 字數 1295 閱讀 1040

題目:

給定兩個矩陣a和b,要求你計算它們的乘積矩陣ab。需要注意的是,只有規模匹配的矩陣才可以相乘。即若a有ra行、ca列,b有rb行、cb列,則只有ca與rb相等時,兩個矩陣才能相乘。

輸入格式:

輸入先後給出兩個矩陣a和b。對於每個矩陣,首先在一行中給出其行數r和列數c,隨後r行,每行給出c個整數,以1個空格分隔,且行首尾沒有多餘的空格。輸入保證兩個矩陣的r和c都是正數,並且所有整數的絕對值不超過100。

輸出格式:

若輸入的兩個矩陣的規模是匹配的,則按照輸入的格式輸出乘積矩陣ab,否則輸出「error: ca != rb」,其中ca是a的列數,rb是b的行數。

輸入樣例1:

2 3

1 2 3

4 5 6

3 47 8 9 0

-1 -2 -3 -4

5 6 7 8

輸出樣例1:

2 4

20 22 24 16

53 58 63 28

輸入樣例2:

3 2

38 26

43 -5

0 17

3 2-11 57

99 68

81 72

輸出樣例2:

error: 2 != 3
思路:

題意就是這樣的,沒有坑點的。就是不會寫,單純輸出特殊樣例也有5分。。。

解決辦法就是矩陣乘法。

例項解釋一下:

注意點就是:

1、當矩陣a的列數等於矩陣b的行數時,a與b可以相乘。

2、矩陣c的行數等於矩陣a的行數,c的列數等於b的列數。

3、乘積c的第m行第n列的元素等於矩陣a的第m行的元素與矩陣b的第n列對應元素乘積之和。

**如下:

#include int map1[550][550],map2[550][550];

int main()

}int k,t;

scanf("%d%d",&k,&t);

for(int i=1;i<=k;i++)

}if(y != k) printf("error: %d != %d\n",y,k);

else

printf("\n");}}

return 0;

}

注:c++檔案,請不要使用c檔案編譯。

矩陣A乘以B

給定兩個矩陣a和b,要求你計算它們的乘積矩陣ab。需要注意的是,只有規模匹配的矩陣才可以相乘。即若a有r a行 ca列,b有rb行 c b列,則只有ca與rb相等時,兩個矩陣才能相乘。輸入格式 輸入先後給出兩個矩陣a和b。對於每個矩陣,首先在一行中給出其行數r和列數c,隨後r行,每行給出c個整數,以...

矩陣A乘以B

給定兩個矩陣a和b,要求你計算它們的乘積矩陣ab。需要注意的是,只有規模匹配的矩陣才可以相乘。即若a有r a 行 c a 列,b有r b 行 c b 列,則只有c a 與r b 相等時,兩個矩陣才能相乘。輸入先後給出兩個矩陣a和b。對於每個矩陣,首先在一行中給出其行數r和列數c,隨後r行,每行給出c...

矩陣A乘以B

給定兩個矩陣a和b,要求你計算它們的乘積矩陣ab。需要注意的是,只有規模匹配的矩陣才可以相乘。即若a有r a行 c a列,b有r b行 c b列,則只有ca與r b相等時,兩個矩陣才能相乘。輸入格式 輸入先後給出兩個矩陣a和b。對於每個矩陣,首先在一行中給出其行數r和列數c,隨後r行,每行給出c個整...