Ejercicio
Clase Complexnumber Mejorada
Objectivo
Mejore la clase "ComplexNumber", para que sobrecargue los operadores + y - para sumar y restar números.
Ejemplo Ejercicio C#
Mostrar Código C#
// Importing the System namespace to handle basic functionalities and console output
using System;
public class ComplexNumber
{
// Real and imaginary parts of the complex number
private double real;
private double imaginary;
// Constructor to set the real and imaginary parts
public ComplexNumber(double real, double imaginary)
{
this.real = real;
this.imaginary = imaginary;
}
// Getter for real part
public double Real
{
get { return real; }
}
// Getter for imaginary part
public double Imaginary
{
get { return imaginary; }
}
// Method to return a string representation of the complex number
public string ToString()
{
return $"({real}, {imaginary})";
}
// Method to calculate the magnitude of the complex number (|a + bi| = sqrt(a^2 + b^2))
public double GetMagnitude()
{
return Math.Sqrt(real * real + imaginary * imaginary);
}
// Overloading the + operator to add two complex numbers
public static ComplexNumber operator +(ComplexNumber c1, ComplexNumber c2)
{
double realSum = c1.real + c2.real;
double imaginarySum = c1.imaginary + c2.imaginary;
return new ComplexNumber(realSum, imaginarySum);
}
// Overloading the - operator to subtract two complex numbers
public static ComplexNumber operator -(ComplexNumber c1, ComplexNumber c2)
{
double realDifference = c1.real - c2.real;
double imaginaryDifference = c1.imaginary - c2.imaginary;
return new ComplexNumber(realDifference, imaginaryDifference);
}
}
// Auxiliary class with the Main function to test the functionality of the ComplexNumber class
public class Program
{
public static void Main()
{
// Create two ComplexNumber objects
ComplexNumber complex1 = new ComplexNumber(3, 4);
ComplexNumber complex2 = new ComplexNumber(1, 2);
// Display the original complex numbers
Console.WriteLine("Complex Number 1: " + complex1.ToString());
Console.WriteLine("Complex Number 2: " + complex2.ToString());
// Adding the two complex numbers using the overloaded + operator
ComplexNumber sum = complex1 + complex2;
Console.WriteLine("Sum: " + sum.ToString());
// Subtracting the two complex numbers using the overloaded - operator
ComplexNumber difference = complex1 - complex2;
Console.WriteLine("Difference: " + difference.ToString());
// Displaying the magnitude of the complex numbers
Console.WriteLine($"Magnitude of Complex Number 1: {complex1.GetMagnitude()}");
Console.WriteLine($"Magnitude of Complex Number 2: {complex2.GetMagnitude()}");
}
}
Salida
Complex Number 1: (3, 4)
Complex Number 2: (1, 2)
Sum: (4, 6)
Difference: (2, 2)
Magnitude of Complex Number 1: 5
Magnitude of Complex Number 2: 2.23606797749979
Código de Ejemplo Copiado!
Comparte este Ejercicio C# Sharp
Más Ejercicios de Programacion C# Sharp de POO Más sobre Clases
¡Explora nuestro conjunto de ejercicios de programación C# Sharp! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en C#.
En este ejercicio de C#, se debe crear una clase llamada Point3D para representar un punto en el espacio tridimensional, con coordenadas X, Y y Z. La clase deb...
En este ejercicio de C#, se debe mejorar el programa del catálogo para que el método Main muestre un menú que permita ingresar nuevos datos de cualquier tipo, ...
En este ejercicio, debes crear una clase llamada "Table". Esta clase debe tener un constructor que reciba el ancho y alto de la mesa. La clase...
En este ejercicio, debes crear una clase llamada "House" que tendrá un atributo llamado "area". La clase debe tener un constructor que permita asignar un valor...
En este ejercicio, debes crear un proyecto llamado "Tables2", basado en el proyecto "Tables". En este nuevo proyecto, debes crear una clase llamada "CoffeeTable" que ...
En este ejercicio, debes crear una clase llamada "Encrypter" para encriptar y desencriptar texto. La clase tendrá un método "Encrypt", que...