Complexos
Publicado por jorgyano bruno 04/09/2007
[ Hits: 5.205 ]
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");
}
Parte 8 - Sessão de estudo sobre VETORES
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
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Consertando o áudio com estalos e interrupções no Pipewire
Dá para criar um bom jogo usando a linguagem de programação C? (0)
E como programar um sistema operacional inspirado no próprio linux usa... (3)
REDE WI-FI NÃO APARECE NO LINUX MINT (2)
Como programar um sistema de controle para distribuições linux em c? ... (4)









