Complexos

Publicado por jorgyano bruno 04/09/2007

[ Hits: 4.757 ]

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

Quantos números primos você quizer!!!

Mostra valores da tabela ascii

Função em C, retorna a data do sistema já formatada

Crescimento populacional brasileiro

Vetor de números aleatórios não-repetidos de um intervalo em C


  

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