Computers and Technology

Assignment: Complex Number (C++ Coding Question) For this assignment, you need to implement several member functions and operators:
Type converter from double to Complex, in which the double becomes the real part of the complex number and the imaginary part remains 0.
Addition of two complex numbers using operator+
Subtraction of two complex numbers using operator-
Unary negation of a complex number using operator-.
Multiplication of two complex numbers using operator*
Division of two complex numbers using operator/
Find the conjugate of a complex number by overloading unary operator~.
Begin with the Complex number from class and extend it to support these operators. Here are the prototypes you should use for these member functions:
Below is the code to be completed:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
template
typename std::enable_if::is_integer, bool>::type
almost_equal(T x, T y, int ulp)
{
// the machine epsilon has to be scaled to the magnitude of the values used
// and multiplied by the desired precision in ULPs (units in the last place)
return std::fabs(x-y) <= std::numeric_limits::epsilon() * std::fabs(x+y) * ulp
// unless the result is subnormal
|| std::fabs(x-y) < std::numeric_limits::min();
}
using namespace std;
class Complex {
private:
double real;
double imag;
public:
Complex():real(0), imag(0) {}
Complex(double re, double im)
{
real = re; imag = im;
}
Complex operator+(const Complex &rhs) const
{
Complex c;
// To do
return c;
}
Complex operator-(const Complex &rhs) const
{
Complex c;
// To do
return c;
}
Complex operator*(const Complex &rhs) const
{
Complex c;
// To do
return c;
}
Complex operator/(const Complex &rhs) const; // implement divide
Complex operator-() const // negation
{
Complex c;
// To do
return c;
}
Complex operator~() const // conjugation
{
Complex c;
// to do
return c;
}
// DO NOT MODIFY BELOW THIS
bool operator==(const Complex &other) const {
return almost_equal(real, other. real,2) && almost_equal(imag, other. imag,2);
}
bool operator!=(const Complex &other) const {
return !operator==(other);
}
friend ostream& operator<<(ostream&,const Complex &c);
};
ostream& operator<< (ostream& out, const Complex &c)
{
if (c. imag < 0)
out << "(" << c. real << " - " << -c. imag << "j)" ;
else
out << "(" << c. real << " + " << c. imag << "j)" ;
return out;
}
int main()
{
Complex z;
Complex j(0,1);
Complex x(5,0);
std::cout << "j = " << j << std::endl;
std::cout << "x = " << x << std::endl;
Complex y(1,1);
Complex c;
c = y + j*10 ; // assign y to c
std::cout << "c = " << c << std::endl;
return 0;
}

answer
Answers: 1

Other questions on the subject: Computers and Technology

image
Computers and Technology, 23.06.2019 00:30, lilobekker5219
Knowing that the central portion of link bd has a uniform cross sectional area of 800 mm2 , determine the magnitude of the load p for which the normal stress in link bd is 50 mpa. (hint: link bd is a two-force member.) ans: p = 62.7 kn
Answers: 2
image
Computers and Technology, 23.06.2019 03:50, dondre54
Q-1 which of the following can exist as cloud-based it resources? a. physical serverb. virtual serverc. software programd. network device
Answers: 1
image
Computers and Technology, 23.06.2019 13:00, jaelynnm
Donnie does not have powerpoint. which method would be best for elana to save and share her presentation as is? a pdf a doc an rtf a ppt
Answers: 3
image
Computers and Technology, 24.06.2019 04:10, kris1920
Write a program that reads a set of floating-point values. ask the user to enter the values, then print • the average of the values. • the smallest of the values. • the largest of the values. • the range, that is the difference between the smallest and largest. of course, you may only prompt for the values once.
Answers: 3
Do you know the correct answer?
Assignment: Complex Number (C++ Coding Question) For this assignment, you need to implement several...

Questions in other subjects:

Konu
Mathematics, 23.08.2021 21:50
Konu
Geography, 23.08.2021 21:50
Konu
Mathematics, 23.08.2021 21:50