Софтуерно Инженерство
Loading...
Iamnikkysiderov avatar Iamnikkysiderov 10 Точки

8.Sunglasses - Drawing Figures with Loops

Здравейте, ето го и моето решение:

using System;

class FirstSample
{
    static void Main()
    {
        int n = int.Parse(Console.ReadLine());

        int cols = (2 * n) + n + (2 * n);
        int rows = n;
        int innerPart = n - 2;

            string mainBorder = new string('*', 2 * n) + new string(' ', n) + new string('*', 2 * n);
            Console.WriteLine(mainBorder);

            for (int j = 1; j <= innerPart; j++)
            {
                string glass = "*" + new string('/', 2 * n - 2) + "*" + new string(' ', n) + "*" + new string('/', 2 * n - 2) + "*";
                string withBridge = "*" + new string('/', 2 * n - 2) + "*" + magicString("|", n) + "*" + new string('/', 2 * n - 2) + "*";

                if (n/2 == j)
                {
                    Console.WriteLine(withBridge);
                }
                else
                {
                    Console.WriteLine(glass);
                }

            }
            Console.WriteLine(mainBorder);
    }

    public static string magicString (string text, int repeatCount)
    {
        string outputText = "";

        for (int i = 0; i < repeatCount; i++)
        {
            outputText += text;
        }

        return outputText;
    }
}

Знам че magicString-а е излизашен тука, както и да е... Когато въведа четно число мостът, който свързва двете очила излиза на по долния ред, а трябва да е на по-горния. Не знам как да го обясня. Вижте както излиза в примерните входове в word документа на софтуни за тази задача и вижте на мене как ми излиза. Как мога да го поправя точно?

Тагове:
sotirona avatar sotirona 25 Точки
Best Answer

Мостът трябва да ти е на ред j ==(n-1)/ 2,  а не само n/  2, за да важи при четно и нечетно число :)

0
18/12/2016 18:18:27