1125:矩陣乘法
時間限制: 1000 ms 記憶體限制: 65536 kb
提交數: 14556 通過數: 7513
【題目描述】
計算兩個矩陣的乘法。n×m階的矩陣a乘以m×k階的矩陣b得到的矩陣c 是n×k階的,且c[i][j] = a[i][0]×b[0][j] + a[i][1]×b[1][j] + …… +a[i][m-1]×b[m-1]j。
【輸入】
第一行為n, m, k,表示a矩陣是n行m列,b矩陣是m行k列,n, m, k均小於100。
然後先後輸入a和b兩個矩陣,a矩陣n行m列,b矩陣m行k列,矩陣中每個元素的絕對值不會大於1000。
【輸出】
輸出矩陣c,一共n行,每行k個整數,整數之間以乙個空格分開。
【輸入樣例】
3 2 3
1 11 1
1 11 1 1
1 1 1
【輸出樣例】
2 2 2
2 2 2
2 2 2
思路:1、當矩陣a的列數(column)等於矩陣b的行數(row)時,a與b可以相乘。
2、矩陣c的行數等於矩陣a的行數,c的列數等於b的列數。
3、乘積c的第m行第n列的元素等於矩陣a的第m行的元素與矩陣b的第n列對應元素乘積之和。
#include
using
namespace std;
intmain()
;int i,j,m,n,k,t;
cin >> n >> m >> k;
for(i =
1;i <= n;i++
)for
(j =
1;j <= m;j++
) cin >> a[i]
[j];
for(i =
1;i <= m;i++
)for
(j =
1;j <= k;j++
) cin >> b[i]
[j];
for(i =
1;i <= n;i++
)for
(j =
1;j <= k;j++
)for
(t =
1;t <= m;t++
) c[i]
[j]+
= a[i]
[t]* b[t]
[j];
for(i =
1;i <= n;i++
)return0;
}
第五章 陣列
陣列就是一組相同型別的變數,它們往往都是為了表示同一批物件的統一屬性,如乙個班級所有同學的身高 全球所有國家的人口數等。陣列可以是一維的,也可以是二維或多維的。使用一維陣列時,一般是從0開始編號,s i 就表示第i 1個同學的身高,i稱為下標變數。例如讀人50個同學的身高,語句就可以這樣書寫 for...
第五章 陣列
學習目標 1 理解陣列含義 2 學會一維陣列 二維陣列解決實際問題 3 掌握各種元素排序等 知識點梳理 重難點和基本知識 一 一維陣列的定義 陣列的概念 按順序排列的一組同種型別的變數構成的集合。乙個陣列在記憶體中佔一片連續的儲存單元 1 一維陣列的定義 定義一維陣列的格式 型別識別符號 陣列名 常...
第五章 陣列array
所謂陣列,是指將那些具有相同型別的 數量有限的若干個變數通過有序的方法組織起來的一種便於使用的形式。陣列屬於一種構造型別,其中的變數被稱為陣列的元素。陣列元素的型別可以是基本資料型別,也可以是特殊型別和構造型別。表示長度 下標從0 開始 int float,double,char 要賦值,初始化 簡...