Я пытаюсь запрограммировать треугольник Паскаля на C# и не могу понять, что не так с кодом,
вот что я написал:
Код: Выделить всё
static void Main(string[] args)
{
int numrows = int.Parse(Console.ReadLine());
PascalsTriangle(numrows);
}
static void PascalsTriangle(int numRows)
{
List triangle = new List();
List trianglestorage = new List();
Console.WriteLine(" " + string.Join("", triangle));
for (int i = 0; i < numRows; i++)
{
Console.WriteLine();
triangle.Add(1);
triangle.Insert(0, 1);
Console.WriteLine(string.Join(", ", triangle)); // this is the last normal output and the system shows memory overflow error inside the loop. for some reason it goes on forever even though triangle.Count is now 3 and it should repeat only twice
for (int j = 0; j < triangle.Count() - 1; j++)
{
trianglestorage.Add(triangle[j] + triangle[j+1]);
}
triangle = trianglestorage;
}
}
1
1, 11, 2, 1
тогда программа просто продолжает работать, ничего не выводя, и в конечном итоге закрывается из-за переполнения памяти
Подробнее здесь: https://stackoverflow.com/questions/792 ... inite-loop