sp2222
//Class so phuc
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<math.h>
//--------------------------------------
class sophuc
{
private:
double pa,pt;
public:
sophuc();
sophuc(double a,double b);
void nhap();
void in();
sophuc dd();
sophuc lh();
sophuc nd();
sophuc operator+(sophuc sp);
sophuc operator-(sophuc sp);
sophuc operator*(sophuc sp);
sophuc operator/(sophuc sp);
friend double modul(sophuc sp);
friend void bd(sophuc sp);
};
//---------------------------------------
sophuc::sophuc()
{pa=0;pt=0;}
//----------------------------------------
sophuc::sophuc(double a,double b)
{
pt=a;pa=b;
}
//-----------------------------------------
void sophuc::nhap()
{
cout<<"
Nhap phan thuc: ";cin>>pt;
cout<<"
Nhap phan ao: ";cin>>pa;
}
//-----------------------------------------
void sophuc::in()
{
if(pa==0){cout<<"
z= "<<pt;}
if(pt==0){cout<<"
z= "<<pa<<"i";}
else
{
cout<<"
z= "<<pt<<" + "<<pa<<"i";
}
}
//------------------------------------------
sophuc sophuc::dd()
{
double a=-pt;
double b=-pa;
return sophuc(a,b);
}
//------------------------------------------
sophuc sophuc::lh()
{
double a=pt;
double b=-pa;
return sophuc(a,b);
}
//------------------------------------------
double modul(sophuc sp)
{
double a=sp.pt;
double b=sp.pa;
return sqrt(a*a+b*b);
}
//-------------------------------------------
sophuc sophuc::nd()
{
double a=pt/(pt*pt+pa*pa);
double b=-(pa/(pt*pt+pa*pa));
return sophuc(a,b);
}
//------------------------------------------
sophuc sophuc::operator+(sophuc sp)
{
sophuc msp;
msp.pt=this->pt;
msp.pa=this->pa;
double ptm=msp.pt+sp.pt;
double pam=msp.pa+sp.pa;
msp=sophuc(ptm,pam);
return msp;
}
//-------------------------------------------
sophuc sophuc::operator-(sophuc sp)
{
sophuc msp;
msp.pt=this->pt;
msp.pa=this->pa;
double ptm=msp.pt-sp.pt;
double pam=msp.pa-sp.pa;
msp=sophuc(ptm,pam);
return msp;
}
//------------------------------------------
sophuc sophuc::operator*(sophuc sp)
{
sophuc msp;
msp.pt=this->pt;
msp.pa=this->pa;
double ptm=((msp.pt*sp.pt)-(msp.pa*sp.pa));
double pam=((msp.pt*sp.pt)+(msp.pa*sp.pa));
msp=sophuc(ptm,pam);
return msp;
}
//-----------------------------------------
sophuc sophuc::operator/(sophuc sp)
{
sophuc msp;
msp.pt=this->pt;
msp.pa=this->pa;
return(msp*sp.nd());
}
//-----------------------------------------------
void bd(sophuc sp)
{
double r=modul(sp);
double a=sp.pt/r;
double b=sp.pa/r;
cout<<"
Bieu dien duoi dang luong giac: ";
cout<<"z= "<<r<<"(arccos("<<a<<") + i arcsin("<<b<<"))";
}
//-----------------------------------------------
int main()
{
sophuc sp1,sp2,sp;
cout<<"
Nhap 2 so phuc:
";
cout<<"
Nhap so phuc thu nhat:
";sp1.nhap();
cout<<"
So phuc 1 la: ";sp1.in();
cout<<"
Doi dau so phuc 1: ";sp1.dd().in();
cout<<"
So phuc lien hop cua so phuc 1 la: ";sp1.lh().in();
cout<<"
So phuc nghich dao cua so phuc 1 la: ";sp1.nd().in();
bd(sp1);
cout<<"
Nhap so phuc thu hai:";sp2.nhap();
cout<<"
So phuc 2 la: ";sp2.in();
cout<<"
Doi dau so phuc 2: ";sp2.dd().in();
cout<<"
So phuc lien hop cua so phuc 2 la: ";sp2.lh().in();
cout<<"
So phuc nghich dao cua so phuc 2 la: ";sp2.nd().in();
bd(sp2);
sp=sp1+sp2;
cout<<"
Tong 2 so phuc la:";bd(sp);
sp=sp1-sp2;
cout<<"
Tru 2 so phuc la:";bd(sp);
sp=sp1*sp2;
cout<<"
Tich 2 so phuc la:";bd(sp);
sp=sp1/sp2;
cout<<"
Thuong 2 so phuc la:";bd(sp);
getch();
}
Bạn đang đọc truyện trên: Truyen2U.Com