Вывод комплексного числа в форматном виде - C#
Формулировка задачи:
Нужно вывести комплексные числа в форматированном виде,вот в таком например 1,0004+2,345i
Вот метод,который считает\получает комплексные числа
А теперь главная проблема в main
Учитывая, что метод выше возвращает new Complex,я решил присвоить его таким образом Но теперь нужно чтобы метод работал в цикле и следовательно чтобы выдавало разные значения,от -30 до 30 и правильном формате.
Увы не отображает,только одно число и 60 раз.
Если занесу объявление Complex [] values = {} внутрь цикла for,то сразу выскочит ошибка внедрённый оператор не может быть объявлением.
static Complex GetSpectralDensity(double amplitude, double frequency, double time)
{
NumericalIntegration integration = new NumericalIntegration();
double real = amplitude * integration.Calculate(x => Math.Cos(-frequency * x), 0, time);
double imaginary = amplitude * integration.Calculate(x => Math.Sin(-frequency * x), 0, time);
return new Complex(real,imaginary);
} Complex [] values ={GetSpectralDensity(double amplitude, double frequency, double time)}for (int frequency = -30, counter = 0; frequency <= 30; frequency++, counter++)
static void Main(string[] args)
{
double amplitude = 25;
double time = 50;
int frequency=0;
int counter;
Complex [] values = { GetSpectralDensity(amplitude, frequency, time) };
foreach (var value in values)
for (int frequency = -30, counter = 0; frequency <= 30; frequency++, counter++)
Console.WriteLine("{0}+ {1}i",value.Real,value.Imaginary );
Console.ReadKey();
}Решение задачи: «Вывод комплексного числа в форматном виде»
textual
Листинг программы
using System;
using System.Numerics;
using System.Collections.Generic;
namespace ConsoleApplication28
{
class Program
{
static void Main(string[] args)
{
double amplitude = 25;
double time = 50;
List<Complex> values = new List<Complex>();
for (int frequency = -30, counter = 0; frequency <= 30; frequency++, counter++)
{
values.Add(GetSpectralDensityDummy(amplitude, frequency, time));
}
values.ForEach(x => Console.WriteLine("{0}+ {1}i", x.Real, x.Imaginary));
Console.ReadKey();
}
private static Complex GetSpectralDensityDummy(double amplitude, int frequency, double time)
{
return new Complex(amplitude, frequency);
}
}
}