Как я могу сделать этот шаблон в c# - PullRequest
0 голосов
/ 06 апреля 2020

Здравствуйте, как мне сделать этот шаблон на c#. Я только получил это далеко. Но я не мог сделать больше. Я не мог найти способ добавить witdh, и я не мог добавить | символ в конце линий и начала и конца второй части. Вопрос: С помощью клавиатуры прочитайте числа для переменных высоты и ширины и создайте следующий шаблон. Где высота - это общее количество строк ширины | количество символьных полей между символами Это символ, который я хочу иметь. Правильный шаблон

Вывод из моей проблемы

using System;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 0, width, height;
            Console.WriteLine("Width");
            width = int.Parse(Console.ReadLine());
            Console.WriteLine("Height");
            height = int.Parse(Console.ReadLine());
            for (i = 1; i <= width; i++)
            {
                Console.Write("|");
                if (i > 1)
                {
                    for (int k = 1; k < i; k++)
                    {
                        Console.Write(" ");
                    }
                    Console.Write("*");
                    for (int k = 1; k < i; k++)
                    {
                        Console.Write(" ");
                    }
                }
                else
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            for (int a = i - 2; a >= 1; a--)
            {
                for (int k = 1; k < a; k++)
                {
                    Console.Write(" ");
                }
                Console.Write("*");
                Console.WriteLine();
            }
            Console.ReadLine();
        }
    }
}

1 Ответ

0 голосов
/ 06 апреля 2020

Попробуйте это:

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int width, height;

            Console.WriteLine("Width");
            width = int.Parse(Console.ReadLine());
            Console.WriteLine("Height");
            height = int.Parse(Console.ReadLine());

            var row = 0;
            var col = 0;
            var nextSwitch = width - 1;

            while (row < height)
            {
                PrintStar(col, width);
                if (col < nextSwitch)
                {
                    nextSwitch = width - 1;
                    col++;
                }
                else
                {
                    nextSwitch = 1;
                    col--;
                }
                row++;
            }
        }


        public static void PrintStar(int pos, int width)
        {
            Console.Write("|");
            var i = 0;
            while (i < pos)
            {
                Console.Write(" ");
                i++;
            }
            Console.Write("*");
            i++;
            while (i < width)
            {
                Console.Write(" ");
                i++;
            }
            Console.WriteLine("|");
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...