.NET 4.x В конструкции foreach переменная постоянно равна нулю - C#
Формулировка задачи:
Здравствуйте, извиняюсь, может я нуб - скорей всего так и есть. i постоянно = 0 (то что в скобках).
Само задание было вот таким:
Как мне это исправить?
static int Fl(int a)
{
int b = 1;
for (int i = 1; i <= a; i++)
{
b *= i;
}
return b;
}
static void Main()
{
// Часть запроса.
Console.Write("K = ");
int k = int.Parse(Console.ReadLine());
Console.Write("T = ");
double t = double.Parse(Console.ReadLine());
Console.Write("G = ");
double g = double.Parse(Console.ReadLine());
//Задание матрицы, она должна заполнятся в цикле.
double[] X_table = new double[k];
// Дополнительная переменная - требуется для того чтобы представить индексы (как в математике) с 1 по n, а не с 0 по n-1 (как в языке программирования) - это нужно для факториала и других работающих с n формулами
int a0 = 0;
//Цикл с заполнением матрицы
foreach (int i in X_table)
{
a0 += 1;
Console.WriteLine("("+i+")");
if (i % 2 == 0)
{
X_table[i] = 1 / (2 * Fl(a0));
}
else
{
X_table[i] = t * g * a0;
}
//Проверка
Console.WriteLine(X_table[i]);
}
// Часть вывода и задержки.
Console.WriteLine();
Console.ReadKey();Решение задачи: «.NET 4.x В конструкции foreach переменная постоянно равна нулю»
textual
Листинг программы
X_table[i] = 1 / (2 * Fl(a0));