Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <iostream>
- #include <math.h> //deklaracja bibliotek
- using namespace std; //przestrzeń nazw
- class Zespolona { //zadeklarowanie klasy o nazwie Zespolona
- public: //prawa dostępu publiczne
- int a; //deklaracje w klasie
- int b;
- Zespolona(); //konstruktor
- Zespolona (int _a,int _b): a(_a),b(_b) {};
- void wyswietl() { //funkcja typu void
- cout << " = " << a << " + " << b << "i\n"; //polecenie wyświetlające i wypisujące na ekranie przypisane wartości
- }
- void ustaw() { //funkcja typu void o nazwie ustaw
- int m_a; //zmienne całkowite typu int
- int m_b;
- cout << "\nPodaj a: "; //wyświetlenie polecenia na ekranie
- cin >> m_a; //komenda prosząca użytkownika o wpisanie liczby a
- cout << "\nPodaj b: "; //wyświetlenie polecenia na ekranie
- cin >> m_b; //komenda prosząca użytkownika o wpisanie liczby b
- a = m_a; //przypisanie wartości
- b = m_b;
- }
- Zespolona odejmij(Zespolona z2) { //metoda o nazwie odejmij
- Zespolona z3; //obiekt o nazwie Zespolona z3
- z3.a = a-z2.a; //działania wykonujące odejmowanie dwóch par liczb
- z3.b = b-z2.b;
- return z3; //zwracanie wartości z3
- }
- Zespolona mnoz(Zespolona z2) { //metoda o nazwie mnoz
- Zespolona z3; //obiekt
- z3.a = (a * z2.a)-(b * z2.b); //działania wykonujące mnożenie dwóch par liczb
- z3.b = (b * z2.a)+(a * z2.b);
- return z3; //zwracanie wartości z3
- }
- float modul() { //metoda zwracająca wartość typu float
- return sqrt(a*a + b*b); //zwracanie wartości modułów
- }
- Zespolona operator+ (const Zespolona &druga) { //operator przeciążenia +
- Zespolona wynik; //wykonywanie działań
- wynik.a=a + druga.a;
- wynik.b= b + druga.b;
- return wynik; //zwracanie wartości wynik
- }
- Zespolona operator- (const Zespolona &druga) { //operator przeciążenia -
- Zespolona wynik;
- wynik.a=a - druga.a;
- wynik.b= b - druga.b;
- return wynik; //zwracanie wartości wynik
- }
- Zespolona operator/ (const Zespolona &druga) { //operator przeciążenia /
- Zespolona wynik;
- float c = a;
- wynik.a=(a*druga.a + b * druga.b)/ (druga.a*druga.a + druga.b*druga.b) ;
- wynik.b = ((-c * druga.b) + b * druga.a)/ (druga.a * druga.a + druga.b * druga.b) ;
- return wynik; //zwracanie wartości wynik
- }
- Zespolona operator* (const Zespolona &druga) { //operator przeciążenia *
- Zespolona wynik;
- wynik.a=a * druga.a;
- wynik.b= b * druga.b;
- return wynik; //zwracanie wartości wynik
- }
- friend ostream& operator << (ostream &wyjscie, Zespolona const& t_zespolona) {
- wyjscie << t_zespolona.a << " + " << t_zespolona.b << "i";
- return wyjscie;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement