Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- struct Complex
- {
- float re, im;
- void citire()
- {
- std::cin >> re >> im;
- }
- void afisare()
- {
- if (im == 0)
- std::cout << re;
- else
- if (im > 0)
- std::cout << re << " + " << fabs(im) << "*i";
- else
- std::cout << re << " - " << fabs(im) << "*i";
- }
- void conjugata()
- {
- im = -im;
- }
- float modul()
- {
- return sqrt(re * re + im * im);
- }
- Complex adunare(Complex C)
- {
- Complex suma = { 0,0 };
- suma.re = re + C.re;
- suma.im = im + C.im;
- return suma;
- }
- Complex scadere(Complex C)
- {
- Complex diferenta = { 0,0 };
- diferenta.re = re - C.re;
- diferenta.im = im - C.im;
- return diferenta;
- }
- Complex inmultire(Complex C)// (a + bi)(c + di) = (ac - bd) + (ad + bc)i
- {
- Complex produs = { 0,0 };
- produs.re = re * C.re - im * C.im;
- produs.im = re * C.im + im * C.re;
- return produs;
- }
- Complex impartire(Complex C)// (a + bi) / (c + di) = (a + bi)(c - di) / [(c + di)(c - di)] = [(ac + bd - (ad - bc)i] / (c*c + d*d)
- {
- Complex cat = { 0,0 };
- cat.re = (re * C.re + im * C.im) / (C.re * C.re + C.im * C.im);
- cat.im = (-re * C.im + im * C.re) / (C.re * C.re + C.im * C.im);
- return cat;
- }
- };
- int main()
- {
- Complex z = { 0,0 }, w = { 0,0 };
- z.citire();
- w.citire();
- Complex cat;
- cat = z.impartire(w);
- cat.afisare();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement