Programación General > Visual C++

 Números Imaginarios

(1/1)

Liwk:
Hola.
Estoy haciendo un programa para calcular raíces en el que se emplea álgebra con números imaginarios. Pero no sé exactamente cómo manejarlos en C++, sin obtener un #NANO. O algo por el estilo.
Estuve revisando en Internet y en How to Program de Deitel pero no puedo resolverlo aún. Si pudieran sugerirme un sitio de consulta o darme algunos tips para manjearlos sería incréible.
Gracias.

carmamezo:
Hola,
por qué no creas una estructura llamada numero imaginario que contenga la parte real y la parte imaginaria?

--- Código: Text --- typedef struct numero_imag{double parte_real;double parte_imag;double mod;double arg;}st_numero_imag;  y a partir de ahí la cosa es sencilla...
Sumar dos números:

--- Código: Text --- st_numero_imag num1,num2,res; res.parte_real=num1.parte_real+num2.parte_real;res.parte_imag=num1.parte_imag+num2.parte_imag;res.mod=sqrt(pow(res.parte_real,2)+pow(res.parte_imag,2));res.arg=atan(res.parte_imag/res.parte_real);  Como verás he introducido en la estructura el formato módulo y exponente que
facilita las operaciones de multiplicación y división.
Dentro de la librería math.h de microsoft (MSDN) puedes encontrar la estructura _complex y alguna otra función para operar con estos números (siempre y cuando uses el visual studio de microsoft)...

Si programas en C++ puedes crear una clase con bastante potencia que haga todo lo anterior y mucho más, automáticamente (sobrecargando los operadores)...   Supongo que incluso encuentres alguna clase que lo haga por ti (como la clase complex de microsoft)

El resto corre de tu parte...

Un saludo.
 :lightsabre:

Navegación

[0] Índice de Mensajes

Ir a la versión completa