題目:
給定兩個矩陣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個整...