Эта программа предназначена для создания волновой структуры с использованием C# с последовательностью и массивами Фибоначи. Номер последовательности находится в конце, а звездочки соответствуют номеру текущей строки впереди. Все это делается с использованием циклов For и верхнего ограничителя, выполняемого массивом, я решаю эту проблему ограничителя, используя аспект .Length массивов, но я не понимаю, как правильно использовать массив внутри эта последовательность.
В этой первой части кода у меня есть последовательность, построенная с использованием моего массива с индексом 12, поскольку мне нужны только 11 первых последовательностей Фибоначчи. Проблема, с которой я столкнулся, находится во второй части кода.
class Program
{
static void Main(string[] args)
{
int a = 0, b = 1;
int[] fibArray = new int[12];
fibArray[0] = 0;
fibArray[1] = 1;
Console.WriteLine("0");
Console.WriteLine("*1");
for (int i = 3; i <= fibArray.Length; i++)
{
fibArray[i] = a + b;
a = b;
b = fibArray[i];
for(int y = 1; y <= fibArray[i]; y++)
{
Console.Write("*");
}
Console.Write("" + fibArray[i]);
Console.WriteLine();
}
С этой второй частью кода я не могу заставить его регистрироваться и выводить последовательность. В основном я не уверен, как правильно настроить свой массив, чтобы последовательность Фибоначчи могла также go перевернуться. Я понимаю, что последовательность обычно f (n) = f (n-1) + f (n-2), я не могу понять, как правильно использовать массивы в этом контексте.
for (int p = fibArray[11]; p >= fibArray.Length; p--)
{
for (int k = 1; k <= p; k++)
{
Console.Write("*");
}
Console.Write(""+ b);
Console.WriteLine();
}
}
}
}
Извините для разглагольствования, просто пытаюсь объяснить код в целом, но чтобы дать сумму того, о чем я спрашиваю. Это будет то, как использовать массивы, что я сделал не так с моим текущим кодом и какой аспект я мог бы использовать для управления циклами с помощью самого массива.
Чтобы дать общий пример желаемого результата, он будет будь таким:
0
*1
*1
**2
***3
***3
**2
*1
*1
0