新闻中心

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

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

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

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

矩阵乘法的基本条件

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

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

#include <iostream>
using namespace std;
<p>const int ROW_A = 2;  // A的行数
const int COL_A = 3;  // A的列数 = B的行数
const int COL_B = 2;  // B的列数</p><p>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];
}
}
}
}</p><p>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;
}
}</p><p>int main() {
// 定义两个矩阵
int A[ROW_A][COL_A] = {
{1, 2, 3},
{4, 5, 6}
};</p><pre class='brush:php;toolbar:false;'>int B[COL_A][COL_B] = {
    {7, 8},
    {9, 10},
    {11, 12}
};

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

matrixMultiply(A, B, C);

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

return 0;

}

输出结果

运行上述代码,输出为:

N世界 N世界

一分钟搭建会展元宇宙

N世界 138 查看详 N世界
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>> 来代替固定数组,提升灵活性。

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

以上就是C++如何实现矩阵乘法_C++二维数组矩阵运算代码示例的详细内容,更多请关注其它相关文章!


# 中文网  # seo群搞笑昵称  # 上饶网站网络推广服务  # 华富专业的网站建设  # 成都网络优化网站建设  # 英德市网站建设  # 日照网站云推广  # 任丘网站优化效果  # 美食网站公众号推广文案  # 玉溪冷库建设招标网站  # 网站自动优化收费标准  # 之心  # ai  # 相关文章  # 边缘  # 是一个  # 第二个  # 第一个  # 如何实现  # 行数  # 游戏开发  # stream  # ios  # c++ 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 支付宝解绑银行卡步骤_支付宝如何解除绑定银行卡  taptap防沉迷怎么解除 taptap解除健康系统限制说明【2025最新】  CSS Grid如何控制元素对齐_align-items与justify-items组合使用  Basecamp怎样用留言钉固定重点_Basecamp用留言钉固定重点【重点标记】  基于动态规划的房屋花卉种植最小成本算法详解  Python中高效访问嵌套字典与列表中的键值对  Descript怎样用AI剪辑自动去噪_Descript用AI剪辑自动去噪【自动降噪】  如何修改开机登录密码_Windows账户安全设置超详细教程【必学】  Pandas DataFrame 多条件优先级排序与排名  我的世界官方游戏入口 我的世界官网平台直达链接  从OpenAI API响应中高效提取生成文本  天眼查企业查询官网入口 天眼查官方网页版查询  微信聊天记录怎么加密_微信聊天记录加密方法  抖音网页版怎么|直播|_抖音网页版开播操作指南  html5 app怎么运行环境_配html5 app运行环境【教程】  J*aScript类型检查_j*ascript代码规范  拷贝漫画电脑版官网入口 拷贝漫画(PC版)在线直达  sublime如何配置Go语言开发环境_sublime搭建Golang编译运行系统  小红书网页版入口链接分享 小红书官网直接进  Golang如何通过reflect操作map_Golang reflect map操作与遍历技巧  Flexbox布局实践:实现粘性导航栏与底部固定页脚  怎么在mac上运行html代码_mac运行html代码方法【指南】  谷歌浏览器一键优化方案_谷歌浏览器直达主页极速不卡版  KFC套餐升级怎么获取优惠代码_KFC套餐升级活动与优惠代码获取方法  Composer的 archive 命令怎么用_快速打包你的PHP项目及其Composer依赖  快手赚钱渠道_快手收益来源  c++中的std::forward_list和std::list有什么不同_c++ forward_list与list区别分析  微博网页版官方账号登录 微博网页版内容浏览使用指南  特斯拉自动驾驶房车计划曝光 原型车将于2027年亮相  在J*a中如何开发在线活动报名与管理系统_活动报名管理项目实战解析  处理嵌套交互式控件:前端可访问性指南  漫蛙2(台版)官方入口地址 漫蛙2(台版)正版漫画网页端  在J*a中如何开发简易博客标签推荐系统_博客标签推荐项目实战解析  学习通网页版官方登录 超星学习通电脑端入口指南  海棠电脑版入口_通过电脑访问海棠官网阅读  Win11蓝牙耳机断连怎么解决 Win11蓝牙设置重新配对与驱动更新【技巧】  QQ邮箱官方网页版登录 QQ邮箱个人邮箱快速访问  PPT平滑切换怎么做 PPT炫酷“平滑”切换动画制作教程【必学】  AO3官方镜像站点汇总 AO3同人作品网页版直达链接  狙击外星人小游戏开始_狙击外星人小游戏立即开始  如何使用纯J*aScript判断Input元素是否在特定类容器内  C++如何实现一个智能指针_手动实现C++ shared_ptr的引用计数功能  漫蛙manwa2最新登录网址_漫蛙manwa2手机网页版入口  LINQ to XML为何解析失败? 深入理解C# XDocument的异常处理  理解Python模块与全局变量的作用域管理  CSS图片焦点样式实现教程:理解与应用tabindex属性  Go语言JSON解析深度指南:动态访问与结构体映射实践  J*aScript井字棋(Tic-Tac-Toe)核心交互逻辑实现教程  J*aScript 字符串标签转换:使用正则表达式高效替换  必由学官方网站入口 必由学学生教师共用登录通道 

搜索