-
Notifications
You must be signed in to change notification settings - Fork 0
/
NComplexo.cpp
68 lines (53 loc) · 1.9 KB
/
NComplexo.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include "NComplexo.h"
namespace dnn {
NComplexo::NComplexo():
parteReal(0),
parteImaginaria(0)
{
}
QString NComplexo::get() const
{
QString saida = QString::number(parteReal);
saida += " + ";
saida += QString::number(parteImaginaria);
saida += "i";
return saida;
}
void NComplexo::set(int parteReal, int parteImaginaria)
{
this->parteReal = parteReal;
this->parteImaginaria = parteImaginaria;
}
NComplexo NComplexo::operator +(NComplexo &objeto) const //(a+bi)+(c+di) = (a+c)+(b+d)i;
{
int pr = this->parteReal+objeto.parteReal;
int pi = this->parteImaginaria+objeto.parteImaginaria;
NComplexo retorno;
retorno.set(pr,pi);
return retorno;
}
NComplexo NComplexo::operator -(NComplexo &objeto) const //(a+bi)−(c+di) = (a−c)+(b−d)i;
{
int pr = this->parteReal-objeto.parteReal;
int pi = this->parteImaginaria-objeto.parteImaginaria;
NComplexo retorno;
retorno.set(pr,pi);
return retorno;
}
NComplexo NComplexo::operator *(NComplexo &objeto) const //(a+bi)∗(c+di) = (ac−bd)+(ad+bc)i
{
int pr = (this->parteReal*objeto.parteReal)-(this->parteImaginaria*objeto.parteImaginaria);
int pi = (this->parteReal*objeto.parteImaginaria)+(this->parteImaginaria*objeto.parteReal);
NComplexo retorno;
retorno.set(pr,pi);
return retorno;
}
NComplexo NComplexo::operator /(NComplexo &objeto) const //(a+bi)/(c+di) = (ac+bd)/(c2+d2) + ((bc-ad)/(c2+d2))i;
{
int pr = (this->parteReal*objeto.parteReal+this->parteImaginaria*objeto.parteImaginaria)/(objeto.parteReal*objeto.parteReal+objeto.parteImaginaria*objeto.parteImaginaria);
int pi = (this->parteImaginaria*objeto.parteReal-this->parteReal*objeto.parteImaginaria)/(objeto.parteReal*objeto.parteReal+objeto.parteImaginaria*objeto.parteImaginaria);
NComplexo retorno;
retorno.set(pr,pi);
return retorno;
}
}