Complexos
Publicado por jorgyano bruno 04/09/2007
[ Hits: 5.178 ]
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.
/*
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");
}
Transforma a quantidade de dias digitados em anos, meses e dias
Máximo Divisor Comum (algoritmo de Euclides)
Nenhum comentário foi encontrado.
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Trazendo de volta o Serviços em Segundo Plano no Plasma6
É normal não gostar de KDE? (21)
Servidor para arquivos e banco de dados (4)
780 mil usuários do Janelas baIxaram Linux em um mês (4)
Atualizei meu ubuntu e desliguei e ele não inicia corretamente (12)









