Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as C++ by Benc ( 14 years ago )
#include <iostream>
#include <cmath>

using namespace std;

class Zespolona
{
public:
 friend Zespolona operator+(Zespolona& z1, Zespolona& z2);
 friend Zespolona operator-(Zespolona& z1, Zespolona& z2);
 friend Zespolona operator*(Zespolona& z1, Zespolona& z2);

 Zespolona() { re = 0; im = 0; }
 Zespolona(float re_in, float im_in): re(re_in), im(im_in) { }

 float Modul();
 float Arg();
 void Wypisz() { cout << re << " + " << im << "j" << endl; }

private:
 float re, im;
};

float Zespolona::Modul()
{
 return sqrt(re*re + im*im);
}

float Zespolona::Arg()
{
 //blablabla
 return 0.0f;
}

Zespolona operator+(Zespolona& z1, Zespolona& z2)
{
 Zespolona wynik;

 wynik.re = z1.re + z2.re;
 wynik.im = z1.im + z2.im;

 return wynik;
}

Zespolona operator-(Zespolona& z1, Zespolona& z2)
{
 Zespolona wynik;

 wynik.re = z1.re - z2.re;
 wynik.im = z1.im - z2.im;

 return wynik;
}

Zespolona operator*(Zespolona& z1, Zespolona& z2)
{
 Zespolona wynik;

 wynik.re = (z1.re * z2.re) - (z1.im * z2.im);
 wynik.im = (z1.re * z2.im) - (z2.re * z1.im);

 return wynik;
}

Zespolona* z1;
Zespolona* z2;

int main()
{
 Zespolona* z3;

 z1 = new Zespolona(1.0f, 3.0f);
 z2 = new Zespolona(2.0f, 2.0f);
 z3 = new Zespolona(0.0f, 0.0f);

 *z3 = (*z1) + (*z2);
 z3->Wypisz();

 *z3 = (*z1) - (*z2);
 z3->Wypisz();

 *z3 = (*z1) * (*z2);
 z3->Wypisz();

 cout << "Modul: " << z3->Modul() << endl;

 system&#40;"PAUSE"&#41;;

 delete z1;
 delete z2;
 delete z3;

 return 0;
}

 

Revise this Paste

Your Name: Code Language: