lunes, 5 de noviembre de 2007

Realiza las cuatro operaciones fundamentales con números complejos

/*
Clase que permita manejar números complejos;
con métodos para las cuatro operaciones fundamentales.
*/

class Complejo{
private double real;
private double imaginaria;

public Complejo(double real,double imaginaria){
this.real=real;
this.imaginaria=imaginaria;
}

public Complejo suma(Complejo z1, Complejo z2){
return new Complejo(z1.real+z2.real,z1.imaginaria+z2.imaginaria);
}
public Complejo resta(Complejo z1, Complejo z2){
z2.imaginaria*=-1;
z2.real*=-1;
return suma(z1,z2);
}
public Complejo producto (Complejo z1, Complejo z2){
return new Complejo(z1.real*z2.real+z1.imaginaria*z2.imaginaria,
z1.real*z2.imaginaria+z2.real*z1.imaginaria);
}
public Complejo division (Complejo z1, Complejo z2){
double moduloCuadrado=z2.real*z2.real+z2.imaginaria*z2.imaginaria;
return new Complejo((z1.real*z2.real+z1.imaginaria*z2.imaginaria)/moduloCuadrado,
(z2.real*z1.imaginaria-z1.real*z2.imaginaria)/moduloCuadrado);
}
public void mostrarComplejoBinomico(Complejo z){
System.out.println(z.real+"+j"+z.imaginaria);
}
public static void main(String args[]){
Complejo z1=new Complejo(1,2);
Complejo z2=new Complejo(3,4);
z1.mostrarComplejoBinomico(z1.suma(z1,z2));
z1.mostrarComplejoBinomico(z1.resta(z1,z2));
z1.mostrarComplejoBinomico(z1.producto(z1,z2));
z1.mostrarComplejoBinomico(z1.division(z1,z2));

}
}

11 comentarios:

  1. Excelente aporte, ya que sin esto estaba muy perdido hacerca de como hacer dicho ejercicio.

    ResponderEliminar
  2. Me alegro mucho de que te sirviese. Muchas gracias por comentar.

    ResponderEliminar
  3. Hola... el codigo esta hecho en c verdad..?? necesito en java, no se si me puedes ayudar gracias

    ResponderEliminar
    Respuestas
    1. Hola, está en Java completamente, no tiene pérdida. Un saludo.

      Eliminar
  4. Hola Jorge muchisimas gracias por la aportación me sirvio de mucho ahora que hago tarea en vacaciones puff.. :) !!
    Solo tengo una duda en donde pusiste mostrarComplejoBinomico que sirgnifica la variable j ... es que eso no me queda muy claro.
    Espero q puedas responderme, gracias :D

    ResponderEliminar
    Respuestas
    1. Hola, de nada, me alegro mucho que te sirviese. Pues en "+j", la letra jota representa la segunda columna de la matriz, la primera se representa con "i" y la segunda con "j". Una vista muy básica es así: "datos[i][j]". Muchas gracias por comentar!

      Eliminar
  5. muchas gracias por el aporte
    me quedo muy claro :)
    ojala subas mas codigos

    ResponderEliminar
    Respuestas
    1. Gracias a ti por comentar, tal vez en breve suba alguno mas... Un saludo!

      Eliminar
  6. Gracias por el post, me sirvio mucho pero deberias revisar bien el codigo, la multiplicacion esta mal

    ResponderEliminar
    Respuestas
    1. Podría ser pero ahora no me doy cuenta ¿te da mal el resultado o no funciona?

      Un saludo y gracias a ti.

      Eliminar
  7. esta muy bueno tu codigo amigo gracias me gane un punto en la escuela aunque tuve que que modificarlo.le tuve que meterle un scanner

    ResponderEliminar