Complexos
Publicado por jorgyano bruno 04/09/2007
[ Hits: 5.112 ]
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"); }
Número par ou ímpar (com operado bit a bit)
Implementação de limpar a tela em C
Nenhum comentário foi encontrado.
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
SAMBA parou de compartilhar [RESOLVIDO] (3)
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (8)
systemd-resol... precisa ser reiniciado periodicamente (5)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (6)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (2)