Tìm kiếm

BT Về Lập trình hướng đối tượng (Mở đầu)

2. Xây dựng lớp số phức gồm các thành phần:
-DL: phần thực, phần ảo
-Pt: nhập, in, tính cộng, trừ, nhân, chia 2 số phức
Hàm main:
-Nhập 2 số phức
-Tính và in tổng, hiệu hai số phức
-In mảng sau khi xếp

Code:

#include <iostream.h>
#include <conio.h>
#include <math.h>
class sp

{
 private:
 float i,r;
 public:
 friend int ss(sp x1,sp x2);
 friend float can(sp x);
  friend float mau(sp x);
 sp()
 {
  r=0;
  i=0;
  }
 friend istream& operator>>(istream& is,sp &x)
 {
  cout<<"Nhap phan thuc :";is>>x.r;
  cout<<"Nhap phan ao :";is>>x.i;
  return is;
  }
 friend ostream& operator<<(ostream& os,sp &x)
 {
  os<<x.r<<" + j*"<<x.i;
  return os;
 }
 sp operator+(sp x)
 {
  sp x1;
  x1.r = r+x.r;
  x1.i = i+x.i;
  return x1;
  }
  sp operator-(sp x)
 {
  sp x1;
  x1.r = r-x.r;
  x1.i = i-x.i;
  return x1;
  }
 sp operator*(sp x)
 {
  sp x1;
  x1.r = r*x.r - i*x.i;
  x1.i = r*x.i + x.r*i;
  return x1;
  }
 sp operator/(sp x)
 {
  sp x1;
  x1.r = (r*x.r+i*x.i)/mau(x);
  x1.i = (r*x.r-i*x.i)/mau(x);
  return x1;
 }
 };
 float can(sp x)
 {
  return sqrt(x.r*x.r+x.i*x.i);
 }
 float mau(sp x)
 {
  return (x.r*x.r+x.i*x.i);
 }
 int ss(sp x1,sp x2)
 {
  if (x1.r>x2.r) return 1;
  if (x1.r==x2.r&&x1.i>x2.i) return 1;
  else return 0;
  }
void main()
{
 sp a,b;
 cout<<"Nhap 2 so phuc :\n";cin>>a>>b;
 cout<<"Tong :"<<a+b<<"\n";
 cout<<"Hieu :"<<a-b<<"\n";
 cout<<"Tich :"<<a*b<<"\n";
 cout<<"Thuong :"<<a/b<<"\n";
 sp *p;
 sp tg;
 int n;
 cout<<"Nhap so phan tu mang so phuc :";cin>>n;
 p = new sp[n+1];
 for (int e=1;e<=n;e++)
  {
  cout<<"Nhap so phuc thu "<<e<<" : \n";
  cin>>p[e];
  }
 for (int j=1;j<n;j++)
  {
  for (int k=j+1;k<=n;k++)
 if (ss(p[k],p[j])==1)
  {

   tg = p[k];

   p[k] = p[j];

p[j] = tg;

   }
   }
 cout<<"Mang so phuc sau khi sap xep :\n";
 for (int l=1;l<=n;l++)
  cout<<"\n"<<p[l];
 getch();
 }

Read Users' Comments (0)

0 Response to "BT Về Lập trình hướng đối tượng (Mở đầu)"

Đăng nhận xét

Support

Liên hệ DMTuan-Uneti
Mọi thông tin góp ý các bạn liên hệ với mình ! Mail:
  1. manhtuan.leo@gmail.com
  2. manhtuan.itvp@gmail.com

Y!M: manhtuan.it92