Loading...
dZf1aeA-KlimentHristov avatar dZf1aeA-KlimentHristov 56 Точки

Задача за рисуване "House" - проблем при формула

Здравейте , може ли малко помощ , къде не ми изчислява коректно.

Задачата е фигурата от C# Basics Exam 12 April 2014 Morning

На някои числа получавам правилно, а на други не.

Кое съм сгрешил точно , чертае си къщата обаче с други числа ми намаляват точките най - отдоло.

Линк: http://pastebin.com/QGgifAHv

 

Тагове:
0
Programming Basics
raging avatar raging 92 Точки

Гледаш лявата част -> точките до * , при 5 == 1 , при 7 ==1 и при 9 ==2 , започваш да търсиш отношение на n към тази бройка : било то n-1,n-2,n/2,n/3 и ще видиш , че отношението е n/4 . След като имаш лявата част и дясната е идентична ,

средата е = дължината на фигурата (n) - лявата част(n/4) - 1звездичка - още 1 звездичка - дясната част(n/4) :) 

0
dZf1aeA-KlimentHristov avatar dZf1aeA-KlimentHristov 56 Точки

Като дам N/4 после като ми се въведе голямо число , отдоло се разместват точките.

0
raging avatar raging 92 Точки

for (int i = n/2+1; i < n-1; i++)
        {
            Console.WriteLine("{0}*{1}*{0}",new string('.',n/4),new string('.',n-n/4-1-1-n/4)); - среда
        }


        Console.WriteLine("{0}{1}{0}",new string('.',n/4),new string('*',n-2*(n/4))); - това е "основата"

0
indieza avatar indieza 46 Точки

За мен специално има много по-лесен начин, по който да се решават задачите за рисуване. Твоят код е около 100 реда, а ето виж моя. Ако имаш някакви въпроси с удоволствие ще ти отговоря.

 

Успех и усмихнат денsmiley

2
dZf1aeA-KlimentHristov avatar dZf1aeA-KlimentHristov 56 Точки

е те твоите формули просто са написани на ред с Console.WriteLine.

Аз просто си ги пиша на Write да виждам всичко от кода.

Но формулите са ти други от там ми е проблема за долния модул. 3-те реда тоест.

0
indieza avatar indieza 46 Точки

Принципно тези задачи си имат елементарна логика. Целта им е да те проверят дали можеш да работиш с цикли.Препоръчвам ти да се опитваш да откриваш зависимости между отделните картинки и да го изразяваш чрез формули, също така важното е и да си разделяш рисунката на отделни части (в сучая това са отделни цикли).

 

Специално за тази задача циклите са 2 (един за покрива и един за основата). А всичко останало е както аз му викам статичен ред (той няма как де се изрази чрез цикъл а само с едни Console.WriteLine). Спазвнайки това ти гарантирам, че ще успяваш и за напред да решаваш подобни задачи за доста по-малко време и естествено по-малко редове код.smiley

 

Пожелавам ти лек и усмихнат денsmiley

0
Perss avatar Perss 7 Точки

Ето моя код: http://pastebin.com/erEizQju

0
RStanimirov avatar RStanimirov 10 Точки

Макар и с голямо дакъснение - браво Колеги - истината в простичките решения - успели сте с код от 15 реда да решите тази задача. В учебника е решена 4 пъти по-дълго ...

Поздрави,

RS

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