Complexos
Publicado por jorgyano bruno 04/09/2007
[ Hits: 5.209 ]
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");
}
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
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
Opções secretas em tema do Cinnamon
Como mapear unidade de rede no Linux
Como quebrar senha usando john the ripper
Alguém já testou o novo COSMIC Desktop? O que achou? (5)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (2)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (2)









