Complexos
Publicado por jorgyano bruno 04/09/2007
[ Hits: 5.150 ]
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");
}
CAIXA ELETRÔNICO em c++ para Linux
Estatística - Moda e mediana de um vetor
CALCULADORA DO IMC (VERSÃO C++)
Calculadora simples com uso de switch , funções e #define
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)
Secure boot, artigo interessante, nada técnico. (5)
VOL já não é mais como antes? (9)
É normal não gostar de KDE? (13)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)









