矩阵的转置、加和乘法写入C++
这是线代里面矩阵的基本运算
转置就是行和列的下标互换:b[i][j]=a[j]][i]
相加矩阵的行列必须相同:c[i][j]=a[i][j]+b[i][j]
相乘矩阵a的m行*n列与矩阵b的n行*k列相乘得一个m行*k列的矩阵
行乘列:c[i][j]=a[i][j]*b[j][i](c矩阵是m行k列)
我写了一个c++的小程序,很简单!
#include<iostream>
#define maxsize 100
using namespace std;
void trasmat(int a[][maxsize],int b[][maxsize],int m,int n){for(int i=0;i<m;++i){for(int j=0;j<n;++j){b[j][i]=a[i][j];//转置 }}
}
void addmat(int a[][maxsize],int b[][maxsize],int c[][maxsize],int m,int n){for(int i=0;i<m;++i){for(int j=0;j<n;++j){c[i][j]=a[i][j]+b[i][j];//相加 }}
}
void mutmat(int a[][maxsize],int b[][maxsize],int c[][maxsize],int m,int n,int k){for(int i=0;i<m;++i){for(int j=0;j<k;++j){c[i][j]=0;for(int l=0;l<n;++l){c[i][j]+=a[i][l]*b[l][j];//相乘 }}}
}
void printmat(int c[][maxsize],int m,int n){for(int i=0;i<m;++i){for(int j=0;j<n;++j){cout<<c[i][j]<<" ";}cout<<"\n";}
}
int main(){cout<<"矩阵转置相加相乘\n";int input,m,n;int a[maxsize][maxsize],b[maxsize][maxsize],c[maxsize][maxsize];bool flag=1;while(flag){cout<<"\n矩阵的装置请按1 两个矩阵相加请按2 进行矩阵相乘请按3\n";cin>>input;switch(input){case 1:cout<<"输入需要转置矩阵的行数m和列数n:"<<endl;cin>>m>>n;cout<<"输入数据:\n";for(int i=0;i<m;++i){for(int j=0;j<n;++j){cin>>a[i][j];//输入 }}trasmat(a,b,m,n);cout<<"转置结果:\n";printmat(b,n,m);break;case 2:cout<<"输入第一个矩阵的行数m和列数n:"<<endl;cin>>m>>n;cout<<"第一个矩阵数据:\n";for(int i=0;i<m;++i){for(int j=0;j<n;++j){cin>>a[i][j];//输入 }}cout<<"第二个矩阵数据:\n";for(int i=0;i<m;++i){for(int j=0;j<n;++j){cin>>b[i][j];//输入 }}cout<<"相加结果:\n";addmat(a,b,c,m,n);printmat(c,m,n);break;case 3:cout<<"输入第一个矩阵的行数m和列数n:"<<endl;cin>>m>>n;cout<<"第一个矩阵数据:\n";for(int i=0;i<m;++i){for(int j=0;j<n;++j){cin>>a[i][j];//输入 }}int k;cout<<"输入第二个矩阵的行数n和列数k:"<<endl;cin>>n>>k;cout<<"第二个矩阵数据:\n";for(int i=0;i<n;++i){for(int j=0;j<k;++j){cin>>b[i][j];//输入 }}cout<<"相乘结果:\n";mutmat(a,b,c,m,n,k);printmat(c,m,k);break;default:cout<<"输入错误!!!\n";break;}cout<<"退出程序输入end,继续请输入again"<<endl;string s;cin>>s;if(s!="again"&&s!="end"){cout<<"指令错误重新输入\n";cin>>s;}if(s=="again"){flag=true;}else if(s=="end"){flag=false;}}return 0;
}
?没问题!运行一下还可以.
有问题欢迎留言。
矩阵的转置、加和乘法写入C++相关推荐
- c#矩阵类的实现包括伴随矩阵求逆,初等变换求逆,矩阵的加,乘法转置等功能
c#好像没有自带的矩阵类,而很多的算法中需要用到矩阵类,今天分享一个c#实现的矩阵类,包含了矩阵的加,乘法,转置求逆(伴随矩阵求逆:当行列式的值特别大或特别小的时候不适用.初等变换:求逆效率要高,不受 ...
- 4.9-4.10 矩阵乘法的性质 矩阵的幂运算 矩阵的转置及其性质
矩阵乘法的性质 矩阵的乘法不遵守交换律 ! 矩阵乘法遵守结合律.分配律 对于任意r行c列的矩阵A,存在c行x列的矩阵O,满足:A . Ocx = Orx 对于任意r行c列的矩阵A,存在x行r列的矩阵O ...
- C语言矩阵运算器,实现矩阵加法、减法、乘法、转置和退出。
C语言矩阵运算器,实现矩阵加法.减法.乘法.转置和退出. C语言矩阵运算器,实现矩阵加法.减法.乘法.转置和退出.-C文档类资源-CSDN下载C语言矩阵运算器,实现矩阵加法.减法.乘法.转置和退出.更 ...
- 矩阵的基础知识回顾:矩阵乘法,矩阵的逆,伴随矩阵,矩阵的转置,行列式,相似矩阵,实对称矩阵
Agenda 1. 矩阵matrix 1.1 矩阵运算matrix operations 1.1.1 矩阵乘法matrix multiplication 1.1.1.1 简化矩阵乘法(facilita ...
- MATLAB矩阵乘法、MATLAB矩阵的转置、MATLAB串联矩阵
MATLAB矩阵乘法 MATLAB中如果有两个矩阵 A 和 B ,其中 A 是 m*n 矩阵,B 是 n*p 矩阵,那么他们相乘能够产生一个 m*p 的矩阵 C. MATLAB矩阵乘法只发生在矩阵 A ...
- 矩阵的加减乘c语言程序,C语言实现的矩阵加减乘法运算系统
C语言实现的矩阵加减乘法运算系统 /*本矩阵运算系统可以完成矩阵的加.减.乘法,但是只限于方阵*/ #include<stdio.h> #include<math.h> /*- ...
- correl函数相关系数大小意义_矩阵的转置的意义
这个问题下面的回答 矩阵的转置的意义是什么?www.zhihu.com 因为老有人点看,所以就补充下放在这里. 同一个对象的两个等价描述,也可以说是同一个对象分别在两个空间中的描述.这两个空间的相互 ...
- java三元组的快速转置_矩阵压缩——三元组以及矩阵快速转置程序实现
一.问题描述 将一个稀疏矩阵,用三元组的方式压缩存储,然后实现其快速转置 二.实验源码 #include #include #define Size 100 typedef struct { int ...
- 线性代数 --- 用内积重新定义矩阵的转置(个人学习笔记)
在我的另一篇文章中,我简单的介绍了向量的点积,也叫内积.那篇文章的侧重点是点积或者说是点乘.主要是以的方式来定义两个向量的内积.而这篇文章我会见到内积的另外一种表示方式,从变成了. 线性代数 --- ...
- 矩阵的转置与矩阵的逆
矩阵的转置 设 是一个 矩阵, 将 的行与列互换, 得到的一个 矩阵 . 称 为 的转置矩阵, 简称为 的转置. 矩阵转置的运算规律见提示 2.4. 例 6 证明: 任何一个 阶方阵总可以唯一 ...
最新文章
- 自己挖的坑自己填--docker创建实例出现Waiting for SSH to be available…
- spring batch (四) Job的配置及配置文件说明介绍
- 以下哪些是oracle预定义角色,Oracle中预定义角色有哪些?
- 太极团队内部邮件曝光:iOS8完美越狱重大突破
- 光纤测试时怎么选择对应项目的测试标准及测试仪?
- 【JS 逆向百例】无限 debugger 绕过,某网站互动数据逆向
- html5中本地存储概念是什么?
- 两年前疫情刚开始时写的手机上的悬浮贴图软件:悬浮便利贴 - 在手机屏幕上贴图、贴文字
- 求大神解答!!!!在线死等!
- 来自大脑的电信号(EEG)-脑电(1)
- XP中服务与后门技术
- 站长在线零基础Python完全自学教程20:在Python中使用正则表达式完全解读
- 联想品牌日薄西山,多家新兴企业超越它
- mana spark有中文吗_玛娜火花Mana Spark单机版下载-玛娜火花Mana Spark游戏下载-k73游戏之家...
- 苹果笔记本屏幕亮度调节不了/太暗怎么办?
- 计算机硬件广告语,ASUS电脑广告语
- 内网横向移动常用方法总结
- 士林变频器面板如何调速度_变频器怎么调节速度?
- java学习笔记34
- chrome 出现:Your connection is not private NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM
热门文章
- 【Java合并图片】使用Java实现两张图片合并成一张图片的功能(水平合并、垂直合并、透明背景颜色)
- 我的世界服务器无限背包,我的世界 无限背包MOD 我的世界1.7无限背包MOD
- python中的复数操作(实部、虚部、求模、求共轭)
- CLUSTERDOWN Hash slot not served 记录一次线上redis插槽问题
- Shell命令-文件压缩解压缩之tar、unzip
- Excel下拉选项设置
- 董明珠下台 格力还能一统智能家居吗?
- java里seri_全面解释Java中的serialVersionUID
- linux中安装微信开发者工具
- Pyhton中dataFrame型数据 values方法返回结果是数组,并将数组转化为列表的tolist方法