Complexos
Publicado por jorgyano bruno 04/09/2007
[ Hits: 5.135 ]
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"); }
Cálculo de Energia de um Corpo
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (0)
Baixar jogos Independentes para Ubuntu [RESOLVIDO] (4)
PIP3 - erro ao instalar módulo do mariadb para o Python (1)
Linux x Plataformas de Trading - um problema (in-)solúvel? (4)