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("PAUSE");
delete z1;
delete z2;
delete z3;
return 0;
}
Revise this Paste