Перегрузить операции сложения, вычитания, деления и умножения комплексных чисел - C#
Формулировка задачи:
Доброго времени суток.
Помогите разобраться с перегрузкой метода. Суть в том, что необходимо перегрузить операции сложения, вычитания, деления и умножения комплексных чисел. Как складывать,..., умножать комплексные числа знаю. Код для этого есть.
(выложил только сложение)
Порыл на эту тему в интернете и вот что у меня получилось:
Сомневаюсь что это верно. Как исправить?
Глупый вопрос, наверно, но как мне потом это применить?
Ранее с перегрузками не работал, так что сильно не ругайтесь, пожалуйста.
Заранее спасибо.
a1 = Convert.ToDouble(textBox3.Text); b1 = Convert.ToDouble(textBox4.Text); a2 = Convert.ToDouble(textBox5.Text); b2 = Convert.ToDouble(textBox6.Text); a3 = a1 + a2; b3 = b1 + b2; // вывод результата
public static complex_number operator +(complex_number w, complex_number e) { complex_number tlb = new complex_number(); tlb.a3 = w.a1 + w.a2; tlb.b3 = e.b1 + e.b2; return tlb; }
Решение задачи: «Перегрузить операции сложения, вычитания, деления и умножения комплексных чисел»
textual
Листинг программы
class complex_number { double x, y; public double X { get { return x; } } public double Y { get { return y; } } public complex_number(double x=0, double y=0) { this.x = x; this.y = y; } public string ArifToGrigAndPok() { double r, t, phi = 0; string str = string.Empty; r = Math.Sqrt(Math.Pow(x, 2) + Math.Pow(y, 2)); if (x > 0) { t = y / x; phi = Math.Atan(y / x) * 180 / Math.PI; str = "arctg (" + t.ToString(); } else if (x < 0 && y >= 0) { t = y / x; phi = Math.PI + Math.Atan(y / x) * 180 / Math.PI; str = "ПЂ + arctg (" + t.ToString(); } else if (x < 0 && y < 0) { t = y / x; phi = -Math.PI + Math.Atan(y / x) * 180 / Math.PI; str = "-ПЂ + arctg (" + t.ToString(); } else if (x == 0 && y > 0) { t = y / x; phi = Math.PI / 2; str = "ПЂ/2"; } else if (x == 0 && y < 0) { t = y / x; phi = -Math.PI / 2; str = "-ПЂ/2"; } return "Геометрическая форма: \nz=" + Math.Round(r, 2).ToString() + "(cos(" + str + "))+i " + "sin(" + str + "))\n" + "Тригонометрическая форма: \nz=e^(i " + str + "))"; } public static complex_number operator +(complex_number n1, complex_number n2) { return new complex_number(n1.X + n2.X, n1.Y+n2.Y);; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д