Text: |
ФІО = GVA
Запитання:/*
Написати програму, яка здійснює роботу із комплексними числами
(ввести тип Complex). Реалізувати функції add, sub, mult, div, assign_real,
assign_imag, print_complex. Навести приклади виконання операцій.
Операції над комплексними числами реалізувати в алгебраїчній формі
*/
#include <iostream>
#include <stdio.h>
using namespace std;
//-----------------------------------------------------------------------------
class Complex
{
public:
double real;
double image;
// Конструктори
Complex :: Complex () { real = 0; image = 0;}
Complex :: Complex (double r) { real = r; image = 0; }
Complex :: Complex(double r, double i) { real = r, image = i; }
void Complex :: assign_real(double a){
real = a;
}
void Complex :: assign_imag(double a){
image = a;
}
void Complex :: Enter(){
cout<<"Enter real = "; cin>>real;
cout<<"Enter image = "; cin>>image;
}
void Complex :: print_complex(){
cout<<" Real = "<<real<<" ; image = "<<image<<endl;
}
};
//-----------------------------------------------------------------------------
Complex add(Complex a, Complex b)
{
Complex temp;
temp.real=a.real+b.real;
temp.image=a.image+b.image;
return temp;
}
//-----------------------------------------------------------------------------
Complex sub(Complex a, Complex b)
{
Complex temp;
temp.real=a.real-b.real;
temp.image=a.image-b.image;
return temp;
}
//-----------------------------------------------------------------------------
Complex mult(Complex a, Complex b)
{
Complex temp;
temp.real=a.real*b.real-a.image*b.image;
temp.image=a.real*b.image+a.image*b.real;
return temp;
}
//-----------------------------------------------------------------------------
Complex div(Complex x, Complex z)
{
Complex temp;
double a=x.real,b=x.image,c=z.real,d=z.image;
temp.real=(a*c+b*d)/(c*c+d*d);
temp.image=(b*c+a*d)/(c*c+d*d);
return temp;
}
//-----------------------------------------------------------------------------
int main()
{
Complex a,b,c;
a.print_complex();
b.print_complex();
c.print_complex();
system("pause");
a.Enter();
b.Enter();
cout<<endl;
a.print_complex();
b.print_complex();
system("pause");
cout<<"MATH OP: ADD SUB MULT DIV\n\r";
c=add(a,b);
c.print_complex();
c=sub(a,b);
c.print_complex();
c=mult(a,b);
c.print_complex();
c=div(a,b);
c.print_complex();
system("pause");
system("cls");
double r,i;
cout<<" ENTER real : ";
cin>>r;
cout<<" ENTER image : ";
cin>>i;
c.assign_real(r);
c.assign_imag(i);
c.print_complex();
system("pause");
return 0;
}
//---------------------------------------------------------------------------
====================================
ANSWER ====================================
Ваша відповідь...
END of ANSWER ====================================
|