这期内容当中小编将会给大家带来有关C++中怎么简化线性代数矩阵行,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
创新互联是一家集网站建设,白云企业网站建设,白云品牌网站建设,网站定制,白云网站建设报价,网络营销,网络优化,
白云网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
具体内容如下
输入一个矩阵,可分别输出该矩阵的阶梯型和最简型。
输入仅支持整数,支持分数形式输出。
妈妈再也不用担心俺的线性代数作业~
使用实例:
(实现格式化输出部分写的极为丑陋......)
#include#include#include#include#include#include#define f(i,l,r) for(i=(l);i<=(r);i++)#define ff(i,r,l) for(i=(r);i>=(l);i--)#define ll long long#define EPS 1e-6using namespace std;const int MAXN=105;int n,m;char output[MAXN];string s;struct frac{ int x,y=1; bool operator < (const frac &tmp)const{ return 1.0*x/y<1.0*tmp.x/tmp.y; } frac operator - (const frac &tmp){ frac ans; ans.x=x*tmp.y-y*tmp.x; ans.y=y*tmp.y; ans.sim(); return ans; } frac operator * (const frac &tmp){ frac ans; ans.x=x*tmp.x; ans.y=y*tmp.y; ans.sim(); return ans; } frac operator / (const frac &tmp){ frac ans; ans.x=x*tmp.y; ans.y=y*tmp.x; ans.sim(); return ans; } int gcd(int a,int b){ return b==0?a:gcd(b,a%b); } void sim(){ int d=gcd(x,y); x/=d; y/=d; if(x<0&&y<0){ x=-x; y=-y; } } void write() { int i; char tmp[MAXN]; int num=0; int nx=x,ny=y; s=""; if(!nx){ s+="0"; } else{ if(nx<0||ny<0){ s+='-'; nx=abs(nx); ny=abs(ny); } if(nx%ny==0){ nx/=ny; while(nx){ tmp[++num]='0'+nx%10; nx/=10; } ff(i,num,1){ s+=tmp[i]; } } else{ while(nx){ tmp[++num]='0'+nx%10; nx/=10; } ff(i,num,1){ s+=tmp[i]; } s+='/'; num=0; while(ny){ tmp[++num]='0'+ny%10; ny/=10; } ff(i,num,1){ s+=tmp[i]; } } } f(i,s.length(),7){ cout<<" "; } cout<>n>>m; cout<<"输入矩阵元素:"<>a[i][j].x; } } gause_1(); cout<<"阶梯型为:"<上述就是小编为大家分享的C++中怎么简化线性代数矩阵行了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。
本文名称:C++中怎么简化线性代数矩阵行-创新互联
标题URL:http://cqcxhl.com/article/cejdeo.html