Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <math.h>
- #include "plik.h"
- #define PI 3.14159265
- using namespace std;
- Tzespol::Tzespol(){
- Re=Im=0;
- }
- Tzespol::Tzespol(float a,float b){
- Re=a;
- Im=b;
- modu();
- argu();
- }
- void Tzespol::wyp(float a, float b){
- if(a!=0)cout<<a;
- if(a!=0&&b>=0)cout<<"+";
- if(b!=0)cout<<b<<"i";
- if(a==0&&b==0)cout<<0;
- }
- void Tzespol::wyp(){
- if(Re!=0)cout<<Re;
- if(Re!=0&&Im>=0)cout<<"+";
- if(Im!=0)cout<<Im<<"i";
- if(Re==0&&Im==0)cout<<0;
- }
- void Tzespol::dod(Tzespol dru){
- float a=Re+dru.Re;
- float b=Im+dru.Im;
- cout<<"Po dodaniu:\n";
- wyp(a,b);
- }
- void Tzespol::ode(Tzespol dru){
- float a=Re-dru.Re;
- float b=Im-dru.Im;
- cout<<"Po odjeciu:\n";
- wyp(a,b);
- }
- void Tzespol::mno(Tzespol dru){
- float a=Re*dru.Re-Im*dru.Im;
- float b=Re*dru.Im+Im*dru.Re;
- cout<<"Po wymnozeniu:\n";
- wyp(a,b);
- }
- void Tzespol::dzi(Tzespol dru){
- float a=(Re*dru.Re+Im*dru.Im)/(dru.Re*dru.Re+dru.Im*dru.Im);
- float b=(Im*dru.Re-Re*dru.Im)/(dru.Re*dru.Re+dru.Im*dru.Im);
- cout<<"Po dzieleniu:\n";
- wyp(a,b);
- }
- Tzespol Tzespol::operator+(Tzespol dru){
- Tzespol wynik;
- wynik.Re=Re+dru.Re;
- wynik.Im=Im+dru.Im;
- return wynik;
- }
- Tzespol Tzespol::operator-(Tzespol dru){
- Tzespol wynik;
- wynik.Re=Re-dru.Re;
- wynik.Im=Im-dru.Im;
- return wynik;
- }
- Tzespol Tzespol::operator*(Tzespol dru){
- Tzespol wynik;
- wynik.Re=Re*dru.Re-Im*dru.Im;
- wynik.Im=Re*dru.Im+Im*dru.Re;
- return wynik;
- }
- Tzespol Tzespol::operator/(Tzespol dru){
- Tzespol wynik;
- wynik.Re=(Re*dru.Re+Im*dru.Im)/(dru.Re*dru.Re+dru.Im*dru.Im);
- wynik.Im=(Im*dru.Re-Re*dru.Im)/(dru.Re*dru.Re+dru.Im*dru.Im);
- return wynik;
- }
- void Tzespol::modu(){
- Mod=sqrt(Re*Re+Im*Im);
- }
- void Tzespol::argu(){
- Arg=asin (Im/Mod) * 180.0 / PI;
- }
- void Tzespol::wypmodu(){
- cout<<"Modulo jest rowne:"<<Mod<<"\n";
- }
- void Tzespol::wypargu(){
- cout<<"Argument jest rowny w stopniach:"<<Arg<<"\n";
- }
- Tzespol Tzespol::operator+=(Tzespol dru){
- float a;
- a=Re+dru.Re;
- Im=Im+dru.Im;
- Re=a;
- }
- Tzespol Tzespol::operator-=(Tzespol dru){
- float a;
- a=Re-dru.Re;
- Im=Im-dru.Im;
- Re=a;
- }
- Tzespol Tzespol::operator*=(Tzespol dru){
- float a;
- a=Re*dru.Re-Im*dru.Im;
- Im=Re*dru.Im+Im*dru.Re;
- Re=a;
- }
- Tzespol Tzespol::operator/=(Tzespol dru){
- float a;
- a=(Re*dru.Re+Im*dru.Im)/(dru.Re*dru.Re+dru.Im*dru.Im);
- Im=(Im*dru.Re-Re*dru.Im)/(dru.Re*dru.Re+dru.Im*dru.Im);
- Re=a;
- }
- Tzespol Tzespol::operator==(Tzespol dru){
- if(Re==dru.Re&&Im==dru.Im){
- cout<<"Prawda, sa rowne";
- }else{
- cout<<"Falsz, nie sa rowne";
- }
- }
- Tzespol Tzespol::operator!=(Tzespol dru){
- if(Re!=dru.Re||Im!=dru.Im){
- cout<<"Prawda, nie sa rowne";
- }else{
- cout<<"Falsz, sa rowne";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement