Как записать комплексное число в C#?

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

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

Ребята, всем привет. Подскажите как записать комплексное число в C#. Часто в выражениях его подписывают i и по умолчанию, равняется sqrt(-1), но мне говорили, что нужно писать через Complex. Как это записать?

Вот мой код:

Листинг программы
  1. static void Main(string[] args)
  2. {
  3. Console.Write("Введите А ");
  4. int a = Int32.Parse(Console.ReadLine());
  5. Console.Write("Введите В ");
  6. int b = Int32.Parse(Console.ReadLine());
  7. Console.Write("Введите C ");
  8. int c = Int32.Parse(Console.ReadLine());
  9. double Q = (Math.Pow(a, 2) - 3 * b) / 9;
  10. double R = (2 * Math.Pow(a, 3) - 9 * a * b + 27 * c) / 54;
  11. double S = Math.Pow(Q, 3) - Math.Pow(R, 2);
  12. double fi;
  13. double x1;
  14. double x2;
  15. double x3;
  16. //double x23;
  17. double i = Math.Sqrt(-1);
  18. double v1 = -2 * Math.Sign(R) * Math.Sqrt(Q) - a / 3;
  19. double v2 = Math.Sign(R) * Math.Sqrt(Q) - a / 3;
  20. {
  21. if (S > 0)
  22. {
  23. fi = 1 / 3 * Math.Acos(R / Math.Sqrt(Math.Pow(Q, 3)));
  24. x1 = -2 * Math.Sqrt(Q) * Math.Cos(fi) - a / 3;
  25. x2 = -2 * Math.Sqrt(Q) * Math.Cos(fi + 2 / 3 * Math.PI) - a / 3;
  26. x3 = -2 * Math.Sqrt(Q) * Math.Cos(fi - 2 / 3 * Math.PI) - a / 3;
  27. Console.WriteLine(x1);
  28. Console.WriteLine(x2);
  29. Console.WriteLine(x3);
  30. }
  31. else if (S < 0)
  32. {
  33. if (Q > 0)
  34. {
  35. fi = 1 / 3 * Math.Log(Math.Abs(R) / Math.Sqrt(Math.Pow(Q, 3))) + Math.Sqrt(Math.Pow(Math.Abs(R) / Math.Sqrt(Math.Pow(Q, 3)), 2) - 1);
  36. x1 = -2 * Math.Sign(R) * Math.Sqrt(Q) * 2 / (Math.Exp(fi) - Math.Exp(-fi)) - a / 3;
  37. //x23 = Math.Sign(R) * Math.Sqrt(Q) * 2 / (Math.Exp(fi) - Math.Exp(-fi)) - a / 3 + -i * Math.Sqrt(3) * Math.Sqrt(Q) * 2 / (Math.Exp(fi) + Math.Exp(-fi));
  38. Console.WriteLine("Действительный корень x1= " + x1);
  39. //Console.WriteLine("Пара комплексных корней (x2,3)" + x23);
  40. }
  41. else if (Q < 0)
  42. {
  43. fi = 1 / 3 * Math.Log(Math.Abs(R) / Math.Sqrt(Math.Abs(Q)), 3);
  44. x1 = -2 * Math.Sign(R) * Math.Sqrt(Math.Abs(Q)) * 2 / (Math.Exp(fi) + Math.Exp(-fi)) - a / 3;
  45. //x23 = Math.Sign(R) * Math.Sqrt(Math.Abs(Q)) * 2 / (Math.Exp(fi) + Math.Exp(-fi)) - a / 3 + -i * Math.Sqrt(3) * Math.Sqrt(Math.Abs(Q)) * 2 / (Math.Exp(fi) - Math.Exp(-fi));
  46. Console.WriteLine("Действительный корень x1=" + x1);
  47. //Console.WriteLine("Пара комплексных корней (x2,3)" + x23);
  48. }
  49. }
  50. }
  51. if (S == 0)
  52. {
  53. x1 = v1 = -2 * Math.Pow(Math.Sqrt(R), 3) - a / 3;
  54. x2 = v2 = Math.Pow(Math.Sqrt(R), 3) - a / 3;
  55. Console.WriteLine(x1);
  56. Console.WriteLine(x2);
  57. }
  58. //else
  59. //{ Console.Write("Система не имеет решений"); }
  60. Console.ReadKey();
  61. }

Решение задачи: «Как записать комплексное число в C#?»

textual
Листинг программы
  1. using System.Numerics;

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


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

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

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы