全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C++如何实现矩阵乘法_C++二维数组矩阵运算代码示例

C++中矩阵乘法通过三重循环实现,要求第一个矩阵列数等于第二个矩阵行数。使用二维数组定义矩阵A(2×3)和B(3×2),计算结果C为2×2矩阵,元素由对应行乘列累加得出,输出为58 64 和139 154。

在C++中实现矩阵乘法,通常使用二维数组或动态分配的指针数组来表示矩阵。下面是一个基于固定大小二维数组的矩阵乘法代码示例,逻辑清晰、易于理解。

矩阵乘法的基本条件

两个矩阵能相乘的前提是:第一个矩阵的列数等于第二个矩阵的行数。若矩阵A为 m×n,矩阵B为 n×p,则结果矩阵C为 m×p。

代码实现(使用二维数组)

#include 
using namespace std;

const int ROW_A = 2; // A的行数 const int COL_A = 3; // A的列数 = B的行数 const int COL_B = 2; // B的列数

void matrixMultiply(int A[ROW_A][COL_A], int B[COL_A][COL_B], int C[ROW_A][COL_B]) { for (int i = 0; i < ROW_A; ++i) { for (int j = 0; j < COL_B; ++j) { C[i][j] = 0; // 初始化 for (int k = 0; k < COL_A; ++k) { C[i][j] += A[i][k] * B[k][j]; } } } }

void printMatrix(int mat[][COL_B], int rows, int cols) { for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { cout << mat[i][j] << " "; } cout << endl; } }

int main() { // 定义两个矩阵 int A[ROW_A][COL_A] = { {1, 2, 3}, {4, 5, 6} };

int B[COL_A][COL_B] = {
    {7, 8},
    {9, 10},
    {11, 12}
};

int C[ROW_A][COL_B]; // 存储结果

matrixMultiply(A, B, C);

cout zuojiankuohaophpcnzuojiankuohaophpcn "结果矩阵:" zuojiankuohaophpcnzuojiankuohaophpcn endl;
printMatrix(C, ROW_A, COL_B);

return 0;

}

输出结果

运行上述代码,输出为:

58 64
139 154

这正是:

  • C[0][0] = 1×7 + 2×9 + 3×11 = 58
  • C[0][1] = 1×8 + 2×10 + 3×12 = 64
  • C[1][0] = 4×7 + 5×9 + 6×11 = 139
  • C[1][1] = 4×8 + 5×10 + 6×12 = 154

扩展建议

如果需要处理任意大小的矩阵,可以改用动态内存分配(如 new/delete)或使用 std::vector<:vector>> 来代替固定数组,提升灵活性。

基本上就这些,核心是三重循环:外层控制结果矩阵的行列,内层累加对应乘积。只要理解了矩阵乘法的数学规则,代码实现并不复杂但容易忽略边界对齐。


# ai  # c++  # ios  # stream  # int  # 循环  # 指针  # delete  # 行数  # 第一个  # 第二个  # 是一个  # 基本条件  # 动态分配  # 这正是  # 来代替  # brush  # php 


相关文章: 如何通过IIS搭建网站并配置访问权限?  盐城做公司网站,江苏电子版退休证办理流程?  如何在景安云服务器上绑定域名并配置虚拟主机?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  电商网站制作公司有哪些,1688网是什么意思?  如何在万网ECS上快速搭建专属网站?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  建站为何优先选择香港服务器?  七夕网站制作视频,七夕大促活动怎么报名?  如何通过建站之星自助学习解决操作问题?  如何快速查询网址的建站时间与历史轨迹?  如何快速搭建FTP站点实现文件共享?  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  如何配置WinSCP新建站点的密钥验证步骤?  网页设计与网站制作内容,怎样注册网站?  建站之星导航菜单设置与功能模块配置全攻略  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  制作表格网站有哪些,线上表格怎么弄?  建站10G流量真的够用吗?如何应对访问高峰?  Python如何创建带属性的XML节点  简单实现Android验证码  建站主机与虚拟主机有何区别?如何选择最优方案?  如何解决ASP生成WAP建站中文乱码问题?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  建站主机默认首页配置指南:核心功能与访问路径优化  如何选择高效稳定的ISP建站解决方案?  制作网站公司那家好,网络公司是做什么的?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何快速生成专业多端适配建站电话?  如何在阿里云购买域名并搭建网站?  c# 在高并发场景下,委托和接口调用的性能对比  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  建站之星微信建站一键生成小程序+多端营销系统  制作公司内部网站有哪些,内网如何建网站?  如何彻底卸载建站之星软件?  如何在西部数码注册域名并快速搭建网站?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  如何快速上传建站程序避免常见错误?  建站之星代理如何获取技术支持?  如何快速搭建高效WAP手机网站吸引移动用户?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  如何通过VPS建站无需域名直接访问?  利用JavaScript实现拖拽改变元素大小  如何挑选高效建站主机与优质域名?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  网站代码制作软件有哪些,如何生成自己网站的代码? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。