Реализация действий над комплексными числами - C#

Узнай цену своей работы

Формулировка задачи:

не выходит реализовать операции действий над числами
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
    
    namespace ComplexNumbers
{
    class Program
    {
    
    static void Main()
    {
     Complex a = new Complex(2, 3);
     Complex b = new Complex(4, 5);
     Console.WriteLine(a.re.ToString() + " " + a.im.ToString());
    Console.Read();
        // your code goes here
    }
}

public class Complex
{
public float re;
        public float im;    
    
 public Complex(float r, float m)
        {
            re = r;
            im = m;
        }   
    
 public Complex() //конструктор без параметров
 { 
 re = im = 0; 
 }  
/*  public static Complex& operator - (Complex  C2);
    public static   Complex& operator *(Complex C2); //объявляем в классе
    public static Complex& operator /(Complex C2);
    */
    /*virtual void Show() //метод для отображения переменной на экране
 { 
 if (im > 0) 
 System.Console.WriteLine("(%.2f%.2f\n)", re, im); 
 else System.Console.WriteLine("(%.2f%.2f\n)", re, im); 
 } 
    */
    public static   Complex  operator + (Complex C2) //а здесь в классе  Complex -оператор
 { 
 Complex C;
   C.re = re + C2.re; 
C.im = im + C2.im;  
    return C; } 
public static   Complex operator - (Complex C2) 
 {   return new Complex(re - C2.re, im - C2.im);
 } 
 
public static  Complex operator * (Complex C2) // Complex:: означает,что оператор относиться к классу
{Complex C;
C.Re=(Re*C2.Re-Im*C2.Im);
C.Im=(C2.Re*Im+Re*C2.Im);
return C;
}
public static  Complex operator / (Complex C2)
{
Complex C;
C.Re=(Re*C2.Re+Im*C2.Im)/(C2.Re*C2.Re+C2.Im*C2.Im);
C.Im=(C2.Re*Im-C2.Im*Re)/(C2.Re*C2.Re+C2.Im*C2.Im);
return C;
}
}

Решение задачи: «Реализация действий над комплексными числами»

textual
Листинг программы
        static void Main(string[] args)
        {
            Complex a = new Complex(2, 3);
            Complex b = new Complex(4, 5);
            Complex c = a - b;
            Console.WriteLine(c.re.ToString() + " " + c.im.ToString());
        }
 
    public class Complex
    {
        public float re;
        public float im;
 
        public Complex(float r, float m)
        {
            re = r;
            im = m;
        }
 
        public Complex() //конструктор без параметров
        {
            re = im = 0;
        }
 
        //public static Complex& operator - (Complex  C2);
        //public static   Complex& operator *(Complex C2); //объявляем в классе
        //public static Complex& operator /(Complex C2);
 
        //virtual void Show() //метод для отображения переменной на экране
        //{ 
        //if (im > 0) 
        //System.Console.WriteLine("(%.2f%.2f\n)", re, im); 
        //else System.Console.WriteLine("(%.2f%.2f\n)", re, im); 
        //} 
 
        public static Complex operator +(Complex C1, Complex C2) //а здесь в классе  Complex -оператор
        {
            return new Complex(C1.re + C2.re, C1.im + C2.im);
        }
        public static Complex operator -(Complex C1, Complex C2)
        {
            return new Complex(C1.re - C2.re, C1.im - C2.im);
        }
 
        public static Complex operator *(Complex C1, Complex C2) // Complex:: означает,что оператор относиться к классу
        {
            Complex C = new Complex();
            C.re = (C1.re * C2.re - C1.im * C2.im);
            C.im = (C2.re * C1.im + C1.re * C2.im);
            return C;
        }
        public static Complex operator /(Complex C1, Complex C2)
        {
            Complex C = new Complex();
            C.re = (C1.re * C2.re + C1.im * C2.im) / (C2.re * C2.re + C2.im * C2.im);
            C.im = (C2.re * C1.im - C2.im * C1.re) / (C2.re * C2.re + C2.im * C2.im);
            return C;
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы