Você está aqui: C++ ::: Dicas & Truques ::: Números Complexos (Complex Numbers) |
Como multiplicar dois números complexos na forma retangular usando C++ - C++ para EngenhariaQuantidade de visualizações: 489 vezes |
Os números complexos são multiplicados com base na propriedade distributiva, sempre lembrando que um numeral complexo é formado por uma parte real e uma imaginária. Veja:7 + j5 Veja o passo-a-passo para multiplicar dois números complexos na forma retangular: a) (4 + 3j) * (2 + 6j) 8 + 24j + 6j + 18j2 (lembrando que j2 = -1) 8 + 24j + 6j + (18 * (-1)) 8 + 24j + 6j - 18 -10 + 30j Veja agora o código C++ completo para este cálculo: #include <string> #include <iostream> using namespace std; // estrutura para representar um número complexo typedef struct Complexo{ int real; int imaginaria; }Complexo; // protótipo da função que multiplica dois números complexos Complexo multiplicar(Complexo a, Complexo b); int main(int argc, char *argv[]){ // para guardar os três números complexos Complexo x, y, z; // vamos ler as partes reais e imaginárias dos dois // números complexos a serem multiplicados cout << "Parte real do primeiro numero complexo: "; cin >> x.real; cout << "Parte imaginaria do primeiro numero complexo: "; cin >> x.imaginaria; cout << "Parte real do segundo numero complexo: "; cin >> y.real; cout << "Parte imaginaria do segundo numero complexo: "; cin >> y.imaginaria; // obtemos a multiplicação dos números complexos z = multiplicar(x, y); // e mostramos o resultado cout << "A multiplicacao dos dos dois numeros complexos e: "; // temos que tratar o sinal if(z.imaginaria < 0){ cout << z.real << " - " << z.imaginaria << "j" << endl; } else{ cout << z.real << " + " << z.imaginaria << "j" << endl; } cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } // função que recebe dois números complexos e retorna // a multiplicação de um pelo outro Complexo multiplicar(Complexo x, Complexo y){ // criamos o número complexo que será retornado Complexo z; // agora fazemos as multiplicações z.real = (x.real * y.real) - (x.imaginaria * y.imaginaria); z.imaginaria = (x.real * y.imaginaria) + (x.imaginaria * y.real); // retorna o número complexo return z; } Ao executar este código C++ nós teremos o seguinte resultado: Parte real do primeiro número complexo: 4 Parte imaginária do primeiro número complexo: 3 Parte real do segundo número complexo: 2 Parte imaginária do segundo número complexo: 6 A multiplicação dos dos dois números complexos é: -10 + 30j |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |