岳阳网站开发公司,沈阳百度seo关键词优化排名,情头定制网站,汽车网站建设论文【题目描述】 矩阵 A 规模为 nm #xff0c;矩阵 B 规模为 mp #xff0c;现需要你求 AB 。
矩阵相乘的定义#xff1a;nm 的矩阵与 mp 的矩阵相乘变成 np 的矩阵#xff0c;令 aik 为矩阵 A 中的元素#xff0c;bkj 为矩阵 B 中的元素#xff0c;则相乘所得矩阵 C 中的…【题目描述】 矩阵 A 规模为 n×m 矩阵 B 规模为 m×p 现需要你求 A×B 。
矩阵相乘的定义n×m 的矩阵与 m×p 的矩阵相乘变成 n×p 的矩阵令 aik 为矩阵 A 中的元素bkj 为矩阵 B 中的元素则相乘所得矩阵 C 中的元素
cij∑k1maikbkj看不懂的看代码里面有简易得定义 具体可见样例。
【输入】 第一行两个数 n,m
接下来 n 行 m 列描述一个矩阵 A
接下来一行输入 p
接下来 m 行 p 列描述一个矩阵 B 。
【输出】 输出矩阵 A 与矩阵 B 相乘所得的矩阵 C 。
【输入样例】 2 3 1 2 3 3 2 1 2 1 1 2 2 3 3 【输出样例】 14 14 10 10 【提示】 样例解释
[141×12×23×3103×12×21×3141×12×23×3103×12×21×3] 数据范围与提示
对于全部数据1≤n,m,p≤100,−10000≤aij,bij≤10000 。
【思路】公式法
#includebits/stdc.h
using namespace std;
int a[10050][10050],b[10050][10050];//定义二个矩阵 。 另一个矩阵为输出矩阵也是结果后面在算的时候就能输出所以不用定义
int main()
{
int n,m,p;//n,m为a矩阵的行与列m,p为b矩阵的行与列n,p为输出矩阵的行与列
cinnm; //输出不必多言
for(int i0;in;i){for(int j0;jm;j){cina[i][j];}
}
cinp;
for(int i0;im;i){for(int j0;jp;j){cinb[i][j];}
}
for(int i0;in;i){//c矩阵为n行p列 for(int j0;jp;j){//c[i][j]为a[i][]行各数与b[][j]列各数相乘 int ans0;for(int k0;km;k){//因为a矩阵和b矩阵公共常(一定不给样例就能确定的)度为m ansa[i][k]*b[k][j];//根据第20行提供的定义直接算 } coutans ;}coutendl;
}
return 0;
}完结撒花