Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace WinFormsApp1
- {
- class Complex
- {
- double r;//целая часть
- double i;//мнимая часть
- public double R
- {
- get { return r; }
- set
- {
- r = value;
- }
- }
- public double I
- {
- get { return i; }
- set
- {
- i = value;
- }
- }
- public Complex(double r, double i)
- {
- R = r;
- I = i;
- }
- public Complex()
- {
- r = 0.0;
- i = 0.0;
- }
- public static Complex Sum(Complex a, Complex b)
- {
- Complex res = new Complex();
- res.r = a.r + b.r;
- res.i = a.i + b.i;
- return res;
- }
- public static Complex Multiplication(Complex a, Complex b)
- {
- Complex res = new Complex();
- res.r = a.r * b.r - a.i * b.i;
- res.i = a.i * b.r + a.r * b.i;
- return res;
- }
- public static Complex Subtract(Complex a, Complex b)
- {
- Complex res = new Complex();
- res.r = a.r - b.r;
- res.i = a.i - b.i;
- return res;
- }
- public static Complex Division(Complex a, Complex b)
- {
- Complex res = new Complex();
- double D = b.r * b.r + b.i * b.i;
- res.r = (a.r * b.r + a.i * b.i) / D;
- res.i = (a.i * b.r - a.r * b.i) / D;
- return res;
- }
- public static double Modul(Complex a)
- {
- double res = 0;
- res = Math.Sqrt(Math.Pow(a.r, 2) + Math.Pow(a.i, 2));
- return res;
- }
- public static Complex operator +(Complex a, Complex b)
- {
- return Complex.Sum(a, b);
- }
- public static Complex operator -(Complex a, Complex b)
- {
- return Complex.Subtract(a, b);
- }
- public static Complex operator *(Complex a, Complex b)
- {
- return Complex.Multiplication(a, b);
- }
- public static Complex operator /(Complex a, Complex b)
- {
- return Complex.Division(a, b);
- }
- public override string ToString()
- { if (i>0 )
- return r.ToString() + " + " + i.ToString() + "i";
- else
- return r.ToString() + i.ToString() + "i";
- }
- }
- }
Add Comment
Please, Sign In to add comment