矩阵乘法
输入两个矩阵A、 B,输出矩阵C=A*B
#include <iostream>
using namespace std;
#define MAX_SIZE 10//矩阵的最大规模
int main()
{
int a[MAX_SIZE][MAX_SIZE], b[MAX_SIZE][MAX_SIZE], c[MAX_SIZE][MAX_SIZE];
int i, j, k, NumOfRowA, NumOfColA, NumOfColB;
//输入A和B的大小
cout << "请输入A的行数、列数和B的列数:";
cin >> NumOfRowA >> NumOfColA >> NumOfColB;
//输入A
for (i = 0; i < NumOfRowA; ++i)
for (j = 0; j < NumOfColA; ++j)
{
cout << "请输入a[" << i << "][" << j << "]="<<endl;
cin >> a[i][j];
}
//输入B
for (i = 0; i < NumOfColA;++i)
for (j = 0; j < NumOfColB; ++j)
{
cout << "请输入b[" << i << "][" << j << "]="<<endl;
cin >> b[i][j];
}
//计算A*B
for (i = 0; i < NumOfRowA; ++i)
for (j = 0; j < NumOfColB; ++j)
{
c[i][j] = 0;
for (k = 0; k < NumOfColA; ++k)
c[i][j] += a[i][k] * b[k][j];
}
//输出C
cout << "C="<<endl;
for (i = 0; i < NumOfRowA; ++i)
{
for (j = 0; j < NumOfColB; ++j)
cout << c[i][j] << '\t';
cout << endl;
}
return 0;
}
输出结果:
不过,如果单纯是为了计算两个矩阵的成绩,可以尝试利用MATLAB,会比C++方便很多。