Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Iamnikkysiderov avatar Iamnikkysiderov 15 Точки

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 документа на софтуни за тази задача и вижте на мене как ми излиза. Как мога да го поправя точно?

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

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

0
18/12/2016 18:18:27
Wencii avatar Wencii 90 Точки

Здравей! Условието в if-а, когато печаташ withBridge, трябва да стане (n - 1) / 2 == j :)

0
RadinaToteva avatar RadinaToteva 90 Точки

Условието в If-a трябва да е (n - 1) / 2 - 1 == j .

0
g_todorov avatar g_todorov 106 Точки

Здравей,

ето и моето решение, знам че не е перфектно но работи и може да ти е от полза.

Успех!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sunglases
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            Console.WriteLine(new string('*', 2 * n) + new string(' ', n) + new string('*', 2 * n));
            for (int row = 1; row <= n - 2; row++)
            {
                Console.Write('*' + new string('/', 2 * n - 2) + '*');
                if (row == (n - 1) / 2)
                {
                    Console.Write(new string('|', n));
                }
                else
                {
                    Console.Write(new string(' ', n));
                }
                Console.Write('*' + new string('/', 2 * n - 2) + '*');
                Console.WriteLine();
            }
            Console.WriteLine(new string('*', 2 * n) + new string(' ', n) + new string('*', 2 * n));
        }
    }
}

0
Martin.T avatar Martin.T 35 Точки

http://pastebin.com/nzv410Qs Заповядай и моето решение имах същия проблем с моста дано ти помогне :)

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.