矩阵在线计算机,矩阵计算器
这是小甲鱼第25课的作业,要求输入两个矩阵,计算矩阵相乘的运算结果,并以合适的格式打印出来
矩阵相乘计算器
难点:
矩阵相乘的循环嵌套
如何输出横向的打印结果→借鉴之前的logo打印方式,横向组合,按行打印
小技巧
这里我将每个矩阵的打印代码写成了函数,与答案相比更加简洁。
// 输入维数 输入矩阵 矩阵计算函数 打印函数
// 矩阵1:M×P
// 矩阵2:P×N
#include
void printMat(int *p, int mat_rows, int mat_cols, int n)
{
int ii = 0;
if (n < mat_rows)
{
printf("|"); //one space
for (ii = 0; ii < mat_cols; ii++)
{
printf(" %2d ", *(p+ii));
}
printf("|");
}
else
{
printf(" "); //one space
for (ii = 0; ii < mat_cols; ii++)
{
printf(" ");
}
printf(" ");
}
}
int main(void)
{
// 确定矩阵维数
int M, P, N;
printf("请输入矩阵1的尺寸(M*P): ");
scanf("%d*%d", &M, &P);
printf("请输入矩阵2的尺寸(P*N): ");
scanf("%d*%d", &P, &N);
// 定义空矩阵
int mat_a[M][P];
int mat_b[P][N];
int mat_c[M][N]; // 初始化 可变数组需要手动初始化
int i = 0, j = 0;
for (i = 0; i < M; i++)
{
for (j = 0; j < N; j++)
{
mat_c[i][j] = 0;
}
}
// 录入矩阵数据 使用i,j分层循环
printf("请输入矩阵1: \n");
for (i = 0; i < M; i++)
{
for (j = 0; j < P; j++)
{
scanf("%d", &mat_a[i][j]);
}
}
printf("请输入矩阵2: \n");
for (i = 0; i < P; i++)
{
for (j = 0; j < N; j++)
{
scanf("%d", &mat_b[i][j]);
}
}
// 分析矩阵计算的循环嵌套
// 矩阵C有M*N个元素,最两分别为M和N
for (i = 0; i < M; i++)
{
for (j = 0; j < N; j++)
{
int sum = 0;
// 每个元素需要求和得到结果,又是一层循环
for (int k = 0; k < P; k++)
{
sum += mat_a[i][k] * mat_b[k][j];
}
mat_c[i][j] = sum;
}
}
// 按行打印结果 按行组装
// M和P指定行数,取两者的较大值
int row = M > P ? M : P;
for (int n = 0; n < row; n++)
{
// mat_a
printMat(&mat_a[n][0], M, P, n);
// print *
if (n == row / 2)
printf(" * ");
else
printf(" ");
// mat_b
printMat(&mat_b[n][0], P, N, n);
// print =
if (n == row / 2)
printf(" = ");
else
printf(" ");
// mat_c
printMat(&mat_c[n][0], M, N, n);
printf("\n");
}
return 0;
}
矩阵在线计算机,矩阵计算器相关推荐
- proteus矩阵按键计算机,矩阵键盘检测Proteus仿真电路图这里将16个按键按照4*4排列...
该按钮可以说是51单片机项目开发的重要组成部分,是51单片机IO端口输入的重要方式.我们可以通过按下按钮来控制微控制器执行相应的程序,以获得所需的效果. 51单片机的键输入主要有两种.一种是独立密钥. ...
- 结构力学计算机矩阵位移法,结构力学-矩阵位移法.ppt
<结构力学-矩阵位移法.ppt>由会员分享,可在线阅读,更多相关<结构力学-矩阵位移法.ppt(42页珍藏版)>请在装配图网上搜索. 1.结构力学,2 / 42,第七节 平面刚 ...
- 高中计算机矩阵算法ppt,矩阵及其基本算法.ppt
<矩阵及其基本算法.ppt>由会员分享,可在线阅读,更多相关<矩阵及其基本算法.ppt(32页珍藏版)>请在人人文库网上搜索. 1.矩阵及其基本算法,计13 刘汝佳,矩阵及其基 ...
- 【JAVA】小米集团-2021校招-算法方向在线考试(矩阵相乘+盒子包裹问题)
前言 楼主参加笔试之前去字节面试了,又是被虐的一次,所以笔试迟到40分钟,而且被字节虐的脑子转不动了,今天笔试很简单,但是我做得不是很理想,希望大家多多说一下自己的思路.祝大家都有心仪的offer. ...
- 计算机视觉三维重建的几何基础:坐标系与关键矩阵(基础矩阵、本质矩阵、单应矩阵)...
作者丨李迎松@知乎 来源丨https://zhuanlan.zhihu.com/p/159194599 编辑丨3D视觉工坊 你站在桥上看风景, 看风景人在楼上看你. 明月装饰了你的窗子, 你装饰了别人 ...
- 什么是单应矩阵和本质矩阵
知乎上面的大牛还是很多,直接搜Homography或者单应矩阵就能得到很多大神的回答,可能回答中的一句话或者一个链接就够自己学习很久. 其实在之前研究双目视觉的时候就接触了对极几何,通过视觉就可以得到 ...
- 模型矩阵、视图矩阵、投影矩阵
模型视图投影矩阵的作用,就是将顶点从局部坐标系转化到规范立方体(Canonical View Volnme)中.总而言之,模型视图投影矩阵=投影矩阵×视图矩阵×模型矩阵,模型矩阵将顶点从局部坐标系转化 ...
- WebGL矩阵变换总结(模型矩阵,视图矩阵,投影矩阵)
矩阵变换总结(模型矩阵,视图矩阵,投影矩阵) 最近在开发项目的时候,常常用到Three.js,用起来很方便.可是,当引擎迭代升级的时候,以前的很多的技巧,并不一定使用最新的引擎.我认为应当对底层的原生 ...
- strassen矩阵乘法 java_矩阵乘法Strassen算法
矩阵乘法是种极其耗时的运算.以 为例,其中 和 都是 矩阵.根据矩阵乘法的定义, 中的每个元素需要按照如下方式计算 式(4.8)包含一个 次的循环,因此计算 的时间复杂度为 .而 共有 个元素,因此总 ...
最新文章
- 50~80万项目需求|室内场景三维重建项目
- 吃透Java中的动态代理
- 动态规划之-----单调递增最长子序列(nyoj17)
- 【转】visual studio 2012进行C语言开发[图文]
- paramiko -SSH学习
- elementui el-from 怎样显示图片_vue2.0使用weui.js的uploader组件上传图片(兼容移动端)...
- SpringBoot:搭建第一个Web程序
- V.35协议转换器指示灯告警常见故障以及排除方法解析
- 【Java】Date类和Calendar类必知必会
- android webserver mysql,Android手机变身Web服务器,BitWebServer简单评测
- Junit测试Controller(MockMVC使用),传输@RequestBody数据解决办法
- eclipse中SVN分支合并到主干
- 记录:pycharm的强大之处之两个文件代码的比对
- 金融风控实战——可解释人工智能技术
- 2.(leaflet篇)leaflet加载接入百度地图
- iOS动态库重签名步骤
- QQ微信等分享链接时系统提取的标题和图片代码
- 【英语:语法基础】B2.核心语法-动词
- 微信电脑版只能扫码登录的原因,你一定想不到
- 群晖ds216j如何安装迅雷软件
热门文章
- 豫让刺杀赵襄子故事原文/白话文翻译?士为知己者死,女为说己者容出自哪?
- 转区系统开放艾欧尼亚转入服务器,【英雄联盟】转区系统开放艾欧尼亚转入服务...
- 华泰单因子测试之换手率类因子
- 【软件教程】如何将夸克网盘挂载为本地磁盘【Docker+AList+RaiDrive】
- Word文档删除最后一页空白页的超强方法(亲测有效)
- 计算机的信息安全教学反思,信息安全 教学设计 教学反思.doc
- 阿里开源新一代单元测试 Mock 工具!
- excel自动计算体育成绩
- FPGA自学笔记--串口通信发送多字节数据(verilog版)
- Express(一) ——简单入门