Complexos

Publicado por jorgyano bruno 04/09/2007

[ Hits: 4.907 ]

Download Complexos.cpp




Classe que realiza operações como adição, subtração, multiplicação, divisão, multiplicação por um escalar e divisão por escalar  com números complexos.

  



Esconder código-fonte

/*
    Jorgyano Bruno de Oiveira Vieira
*/
#include <iostream> 
#include<math.h>

using namespace std; 

class Complexo{ 
      private: 
              float real; 
              float img; 
      public: 
             Complexo(); 
             Complexo(float _real, float _img);
             void print(); 
             void set(float,float); 
             void conjugado();
             Complexo operator+(Complexo); 
             Complexo operator-(Complexo); 
             Complexo operator*(Complexo);
             Complexo operator*(int);
             Complexo operator/(Complexo);
             Complexo operator/(int);
}; 
Complexo::Complexo() { 
  real=0; 
  img=0; 
} 
Complexo::Complexo(float _real, float _img){
   real = _real;
   img = _img;
   }

void Complexo::print() { 
  cout << real << " + " << img << "i" << endl; 
} 
void Complexo::set(float rl, float im) { 
  real = rl; 
  img = im; 
} 
void Complexo::conjugado(){
   img = (-1)*img;
}
Complexo Complexo::operator+(Complexo b) { 
  Complexo c; 
  c.real = real + b.real; 
  c.img = img + b.img; 
  return c; 
} 
Complexo Complexo::operator-(Complexo b) { 
  Complexo c; 
  c.real = real - b.real; 
  c.img = img - b.img; 
  return c; 
}
Complexo Complexo::operator*(Complexo b){
  Complexo c;
  c.real = (real*b.real) - (img*b.img); 
  c.img = (real*b.img) + (img*b.real);
  return c;
}
Complexo Complexo::operator*(int b){
   Complexo c;
   c.real = b*real;
   c.img = b*img;
   return c;
}
Complexo Complexo::operator/(Complexo b){
   Complexo c;
   c.real = (real*b.real) + (img*b.img)/(pow(b.img,b.img) + pow(b.real,b.real));
   c.img = (b.real*img) - (real*b.img)/(pow(b.img,b.img) + pow(b.real,b.real));
}
Complexo Complexo::operator/(int b){
   Complexo c;
   c.real = b/real;
   c.img = b/img;
   return c;
}
int main(){
   Complexo a(4,-5), b, c;
a.conjugado();
b = a;
c=a+b; 
cout<< "a+b = ";c.print();
c=a/b;
cout << "a/b = ";c.print();
c=a*b; 
cout<<"a*b = ";c.print();
c = a*3+b/2;
cout <<"a*3+b/2 = ";c.print();

system("pause");
}
   

Scripts recomendados

Converter um vetor em uma matriz multidimensional

Estrutura condicional ternária

menu

funcarg.c - Função com argumento

Imprime um mapa de caracteres ASCII


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts