Complexos

Publicado por jorgyano bruno 04/09/2007

[ Hits: 4.888 ]

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

Fila Sequencial

Tabela ASCII Em C

clean.h - Biblioteca para limpar um determinado espaço no terminal

Crescimento populacional brasileiro

Imprimir primeiras letras de uma String


  

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