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: 584 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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// 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);
// função principal do programa
int main(int argc, char *argv[]){
// para guardar os três números complexos
Complexo x, y, z;
setlocale(LC_ALL,""); // para acentos do português
// vamos ler as partes reais e imaginárias dos dois
// números complexos a serem multiplicados
printf("Parte real do primeiro numero complexo: ");
scanf("%d", &x.real);
printf("Parte imaginaria do primeiro numero complexo: ");
scanf("%d", &x.imaginaria);
printf("Parte real do segundo numero complexo: ");
scanf("%d", &y.real);
printf("Parte imaginaria do segundo numero complexo: ");
scanf("%d", &y.imaginaria);
// obtemos a multiplicação dos números complexos
z = multiplicar(x, y);
// e mostramos o resultado
printf("A multiplicacao dos dos dois numeros complexos e: ");
// temos que tratar o sinal
if(z.imaginaria < 0){
printf("%d - %dj", z.real, z.imaginaria);
}
else{
printf("%d + %dj", z.real, z.imaginaria);
}
printf("\n\n");
system("PAUSE");
return 0;
}
// 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 |






