一、需求如下:

二、代码如下:

#include<vector>
#include<iostream>
using namespace std;
class Matrix {
public:vector<vector<int>> oneMatrix;Matrix transposing();Matrix operator+(const Matrix& matrix);Matrix operator-(const Matrix& matrix);Matrix operator*(const Matrix& matrix);void display();
};int main()
{Matrix A;A.oneMatrix = { { 1,2 },{ 3,4 } };Matrix B;B.oneMatrix = { {1,3},{3,2} };Matrix C;C.oneMatrix = { {1,3,1},{3,2,2} };//A的装置矩阵cout << "A的转置矩阵为:" << endl;A.transposing().display();//C的装置矩阵cout << "\n\nC的转置矩阵为:" << endl;C.transposing().display();//A+A的装置cout << "\n\nA+A的装置:" << endl;Matrix res;res = A + A.transposing();res.display();//(A + A.transposing()).display();//A+Ccout << "\n\nA+C:" << endl;(A + C).display();//A-Bcout << "\n\nA-B:" << endl;(A - B).display();//CAcout << "\n\nCA:" << endl;if (C.oneMatrix[0].size() == A.oneMatrix.size()) {(C*A).display();}else {cout << "矩阵无法进行计算!" << endl;}//ACcout << "\n\nAC" << endl;(A*C).display();//C的装置乘以Ccout << "\n\nC的装置乘以C" << endl;(C.transposing()*C).display();return 0;
}Matrix Matrix::transposing() {Matrix res;vector<vector<int>> temp(oneMatrix[0].size(),vector<int>(oneMatrix.size()));res.oneMatrix = temp;for (int i = 0; i < oneMatrix.size(); i++){for (int j = 0; j < oneMatrix[i].size(); j++) {res.oneMatrix[j][i] = oneMatrix[i][j];}}return res;
}Matrix Matrix::operator+(const Matrix& matrix) {Matrix res;vector<vector<int>> temp(oneMatrix.size(), vector<int>(oneMatrix[0].size()));res.oneMatrix = temp;for (int i = 0; i < oneMatrix.size(); i++) {for (int j = 0; j < oneMatrix[i].size(); j++) {res.oneMatrix[i][j] = oneMatrix[i][j] + matrix.oneMatrix[i][j];}}return res;
}Matrix Matrix::operator-(const Matrix& matrix) {Matrix res;vector<vector<int>> temp(oneMatrix.size(), vector<int>(oneMatrix[0].size()));res.oneMatrix = temp;for (int i = 0; i < oneMatrix.size(); i++) {for (int j = 0; j < oneMatrix[i].size(); j++) {res.oneMatrix[i][j] = oneMatrix[i][j] - matrix.oneMatrix[i][j];}}return res;
}Matrix Matrix::operator*(const Matrix& matrix) {int row = oneMatrix.size();int col = matrix.oneMatrix[0].size();vector<vector<int>> temp(row, vector<int>(col));Matrix res;res.oneMatrix = temp;for (int i = 0; i < row; i++){for (int j = 0; j < col; j++){res.oneMatrix[i][j] = 0;for (int k = 0; k < oneMatrix[0].size(); k++) {res.oneMatrix[i][j] += oneMatrix[i][k] * matrix.oneMatrix[k][j];}}}return res;
}void Matrix::display()
{for (int i = 0; i < oneMatrix.size(); i++) {for (int j = 0; j < oneMatrix[i].size(); j++) {cout << oneMatrix[i][j] << "\t";}cout << endl;}
}

三、结果如下:

C++实现矩阵加减乘求转置相关推荐

  1. 矩阵的加减乘c语言程序,C语言实现的矩阵加减乘法运算系统

    C语言实现的矩阵加减乘法运算系统 /*本矩阵运算系统可以完成矩阵的加.减.乘法,但是只限于方阵*/ #include<stdio.h> #include<math.h> /*- ...

  2. 一元多项式的加减以及求导

    采用链式存储结构,将两个线性链表表示的一元多项式相加减,求导并输出. #include<stdio.h> #include<stdlib.h>  typedef struct ...

  3. (转)深入详细理解矩阵 (矩阵的加减乘、转置、共轭、共轭转置)

    矩阵:英文名Matrix.在数学名词中,矩阵用来表示统计数据等方面的各种有关联的数据.这个定义很好地解释了Matrix代码制造世界的数学逻辑基础.矩阵是数学中最重要的基本概念之一,是代数学的一个主要研 ...

  4. 矩阵加 减 乘法的C语言实现

    矩阵的加减法:就是对应位置相加减即可 对于满足以下条件的矩阵A,B: 我们有: 加法, 减法, 矩阵的乘法: 对于满足以下条件的矩阵A,B,C: 我们有: 其中: 要注意的是矩阵群没有乘法交换律,也就 ...

  5. opencv 把3通道图像转成单通道_小强学Python+OpenCV之-1.4.3图像(矩阵)加减运算

    引入 问题引入,考虑以下几个问题: Q1. 一个3通道像素p的BGR分量(8bit表示)值均相同,那么这个像素是什么颜色的? Q2. 该像素p加上自己,即,像素p的各个通道值翻倍,那么这个像素的颜色会 ...

  6. Java 复数的加减,求模,比较

    直接上代码!!!!! package exam_复数_myself; import java.util.*; public class complex {public double a, b;// a ...

  7. c语言大数的加减运算,求用C编个大数加减法运算程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 只写过加法的,杭电的A + B Problem (II)(AC): #include #include #include #define N 3000 i ...

  8. 补码加减c语言,C语言计算器含二进制数加减原反补码(自己的期末作业)

    用C++6.0编写的计算器,内含整数小数加减乘除.二进制数组加减及求原码补码反码! #include #include int main() { void top(); void no1(),no2( ...

  9. c语言实现补码加减,C语言计算器含二进制数加减原反补码(自己的期末作业)

    用C++6.0编写的计算器,内含整数小数加减乘除.二进制数组加减及求原码补码反码! #include #include int main() { void top(); void no1(),no2( ...

最新文章

  1. 西门子标准报文1常用_关于西门子变频器报文的个人解读
  2. java 递归原理_Java中递归原理实例分析
  3. mysql innodb 并行_关于MySQL8.0 InnoDB并行执行的详解
  4. Spring5的AOP 和设备支持
  5. HDU1251 统计难题 trie树 简单
  6. 23.C++- 继承的多种方式、显示调用父类构造函数、父子之间的同名函数、virtual虚函数...
  7. 利用python进行数据分析——第十四章_数据分析案例
  8. this,super关键字的使用
  9. 8.Postman中发送请求被拦截(证书问题)
  10. java 字面值_Java基础之字面值
  11. 苹果电脑拷贝文件到u盘很慢_给自己挑个好U盘,再也不想天天找同事借了
  12. pubwin会员合并
  13. HDOJ-1060-Leftmost Digit(求n^n的最高位)
  14. JS 面试问题: 手写 new
  15. 西藏,赴一场心灵之约
  16. C++ Primer Plus 6th代码阅读笔记
  17. 是否有一种完美语言来终结“编程语言之争”?
  18. Delivering Smiles:亚马逊的温暖进行时
  19. C语言写出一个随机生成1-100数字的猜数字游戏
  20. 如何下载Jason2测高数据

热门文章

  1. spring装载配置文件失败报错:org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException...
  2. 五个值得尝试的前端开发工具
  3. 移动服务机器人模块选型
  4. Top-1 Error Top-5 Error
  5. python示例库,常用的Python库和示例代码(快速上手)
  6. K8S发布解释型语言应用的最佳实践
  7. jmeter在linux上运行
  8. mysql分页查询语法
  9. SQL 基础之用户角色日常操作(十六)
  10. [Apio2012]dispatching 主席树做法