Перегрузить операции сложения, вычитания, деления и умножения комплексных чисел - 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);;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д