输入描述:
输入说明: 1、第一个矩阵的行数 2、第一个矩阵的列数和第二个矩阵的行数 3、第二个矩阵的列数 4、第一个矩阵的值 5、第二个矩阵的值
输出描述:
输出两个矩阵相乘的结果
输入例子:
2
2
2
3 8
8 0
9 0
18 9
输出例子:
171 72
72 0
【代码】
- #include<iostream>
- using namespace std;
- #define max 100
- int main()
- {
- int a[max][max];
- int b[max][max];
- int c[max][max];
- int m,n,p;
- while(cin>>m>>n>>p)
- {
- for(int i=0; i<m; i++) //输入矩阵a
- for(int j=0; j<n; j++)
- cin>>a[i][j];
- for(int i=0; i<n; i++) //输入矩阵b
- for(int j=0; j<p; j++)
- cin>>b[i][j];
- for(int i=0; i<m; i++)
- for(int j=0; j<p; j++)
- c[i][j]=0;
- for(int i=0; i<m; i++) //相乘
- for(int j=0; j<p; j++)
- for(int k=0; k<n; k++)
- c[i][j] += a[i][k]*b[k][j];
- for(int i=0; i<m; i++)
- {
- for(int j=0; j<p-1; j++) //注意
- {
- cout<<c[i][j]<<" ";
- }
- cout<<c[i][j]<<endl;
- }
- }
- return 0;
- }
-