C++面向对象编程解决三阶矩阵相加减
/*此处用面向对象编程*/ #include<iostream>
#include<string.h>
using namespace std;
class Matrices
{
private:
int mat[3][3];
public:
Matrices();
void input()
{
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
cin>>mat[i][j];
}
}
}
friend Matrices operator+(Matrices &,Matrices &);
friend Matrices operator-(Matrices &a,Matrices &b);
friend ostream &operator <<(ostream &output,Matrices &);
friend istream &operator >>(istream &input,Matrices &);
}; Matrices ::Matrices()
{
memset(mat,0,sizeof(mat));
} istream &operator >>(istream &input,Matrices &a)
{
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
input>>a.mat[i][j];
}
}
return input;
} ostream &operator <<(ostream &output,Matrices &a)
{
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
output<<a.mat[i][j]<<" ";
}
cout<<endl;
}
return output;
} Matrices operator+(Matrices &a,Matrices &b)
{
Matrices c;
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
c.mat[i][j]=a.mat[i][j]+b.mat[i][j];
}
}
return c;
} Matrices operator-(Matrices &a,Matrices &b)
{
Matrices c;
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
c.mat[i][j]=a.mat[i][j]-b.mat[i][j];
}
}
return c;
} int main()
{
cout<<"请输入需要进行的三阶加法运算(+)或减法运算(-)"<<endl;
char c;
Matrices A,B,C;
while(cin>>c)
{
if(c=='+'||c=='-')
{
if(c=='+')
{
cout<<"转换成功!即将进行加法运算"<<endl;
cout<<"请依次输入矩阵1,以回车换行(确认)"<<endl;
cin>>A;
cout<<"请依次输入矩阵2,以回车换行(确认)"<<endl;
cin>>B;
C=A+B;
cout<<"运算成功!两矩阵的和为:"<<endl;
}
else
{
cout<<"转换成功!即将进行减法运算"<<endl;
cout<<"请依次输入矩阵1,以回车换行(确认)"<<endl; cin>>A;
cout<<"请依次输入矩阵2,以回车换行(确认)"<<endl;
cin>>B;
C=A-B; cout<<"运算成功!两矩阵的差为:"<<endl;
}
cout<<endl;
cout<<C;
cout<<"可输入'+'或'-'继续进行运算"<<endl;
}
else cout<<"数据格式错误!请重新输入:"<<endl;
}
} /* 测试数据 1 1 1
2 2 2
3 3 3 1 1 1
2 2 2
3 3 3
*/
C++面向对象编程解决三阶矩阵相加减的更多相关文章
- <R语言编程艺术>的一个错误以及矩阵相加
R语言编程艺术讲矩阵这节时,举了个随机噪声模糊罗斯福总统画像的例子.但是里面似乎有个错误,例子本意是区域外的值保持不变,而选定区域的值加一个随机值,但是实际情况是两个行列不相等的矩阵相加,会报错,如果 ...
- Python黑帽编程2.9 面向对象编程
Python黑帽编程2.9 面向对象编程 我个人认为,计算机语言的发展,有两个方向,一个是从低到高的发展过程,在这个过程中,语言的思考和解决问题的方式是面向硬件的.硬件本质上处理的是信号,在此基础上, ...
- [.net 面向对象编程基础] (17) 数组与集合
[.net 面向对象编程基础] (17) 数组与集合 学习了前面的C#三大特性,及接口,抽象类这些相对抽象的东西以后,是不是有点很累的感觉.具体的东西总是容易理解,因此我们在介绍前面抽象概念的时候,总 ...
- Day6 - Python基础6 面向对象编程
Python之路,Day6 - 面向对象学习 本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发 ...
- sdut 在机器上面向对象编程练习11(运算符重载)
在机器上面向对象编程练习11(运算符重载) Time Limit: 1000MS Memory limit: 65536K 标题叙述性说明 有两个矩阵a和b,均为2行3列,求两个矩阵之和.重载运算符& ...
- day7 面向对象编程
编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程,一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种 ...
- 《C++ Primer》之面向对象编程(四)
纯虚函数 在前面所提到过的 Disc_item 类提出了一个有趣的问题:该类从 Item_base 继承了 net_price 函数但没有重定义该函数.因为对 Disc_item 类而言没有可以给予该 ...
- Python进阶之面向对象编程
面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程序设计把计算机 ...
- 洗礼灵魂,修炼python(41)--巩固篇—从游戏《绝地求生-大逃杀》中回顾面向对象编程
声明:本篇文章仅仅以游戏<绝地求生>作为一个参考话题来介绍面向对象编程,只是作为学术引用,其制作的非常简易的程序也不会作为商业用途,与蓝洞公司无关. <绝地求生>最近很火,笼络 ...
随机推荐
- 第二周 SCRUM站立会议
站立会议是成员间每个人面对面站立着说出自己的进展,不是会议,不是写报告.是为了更好的沟通和协调,本质上是为了工程方面的团队交流. scrum站立会议的要求如下: 1.成员间都是平等的,发言没有经理和程 ...
- python中的类变量、实例变量
类变量,是各个实例共享的资源,就像中央空调,只有一个,但每个房间(实例)均可享用. 实例变量,是每个实例各自分配使用的变量,每个房间(实例)都有一台空调,供自己使用. class handle(obj ...
- hdu 4405Aeroplane chess(概率DP)
Aeroplane chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- Merge k Sorted Lists [LeetCode]
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. S ...
- SAP采购订单审批记录增强
采购订单审核函数: BAPI_PO_RELEASE 结尾加上 ENHANCEMENT ZME28_PO. "active version DATA:LS_EKKO TYPE EKKO. DA ...
- Bag of mice(CodeForces 148D )
D. Bag of mice time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...
- BZOJ2721 [Violet 5]樱花
先令n! = a: 1 / x + 1 / y = 1 / a => x = y * a / (y - a) 再令 k = y - a: 于是x = a + a ^ 2 / k => ...
- mac 找文件
如何找到 etc 方法1: ! D# D! s2 F" f 七度苹果电脑软件1.打开Finder,按快键盘 Command + Shift + G,即可调出 前往文件夹 ,也可以左上角 找到 ...
- Windows server2003 + sql server2005 集群配置安装
http://blog.itpub.net/29500582/viewspace-1249319/
- java反射之Class.getMethod与getDeclaredMethods()区别
Class对象的getMethods和getDeclaredMethods都是获取类对象的方法.但是又有所不同.废话不多说, 先看demo package com.westward; public c ...