Как сохранить пирамиду в массив символов? - PullRequest
0 голосов
/ 07 апреля 2019

Мне нужна помощь с проверкой IF , позиция в массиве должна сохранять '' или '*' для последующего использования в программе для распечатки пирамиды.

static void Main(string[] args)
    {
        Console.WriteLine("Enter size: ");
        int s = int.Parse(Console.ReadLine());

        char[,] pyramid = new char[s, s * 2 - 1];

        FillArray(pyramid);
        Out(pyramid);

        Console.ReadLine();
    }

    static void FillArray(char[,] t)
    {   
        for (int i = 0; i < t.GetLength(0); i++)
        {
            for (int j = 0; j < t.GetLength(1); j++)
            {
                if (j == t.GetLength(1) / 2 || j == t.GetLength(1) / 2 + i || j == t.GetLength(1) / 2 - i)
                {
                    t[i, j] = '*';
                }
                else t[i, j] = ' ';
            }
        }
    }

    static void Out(char[,] t)
    {
        for (int i = 0; i < t.GetLength(0); i++)
        {
            for (int j = 0; j < t.GetLength(1); j++)
            {
                Console.Write(t[i, j]);
            }
            Console.WriteLine();
        }
    }

В данный момент выхожу что-то вроде этого:

console output

1 Ответ

1 голос
/ 07 апреля 2019

код должен быть таким

int i, j, n;

Console.WriteLine("Enter size: ");
n = int.Parse(Console.ReadLine());

for (i = 0; i < n; i++)
{
    for (j = 1; j <= n - i; j++)
        Console.Write(" ");
    for (j = 1; j <= 2 * i - 1; j++)
        Console.Write("*");
    Console.Write("\n");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...