Loading...
MihailKM avatar MihailKM 1 Точки

Draw Fort

Здравейте, 

Имам леки затруднения със задачата Draw Fort. Проблемът е в това че със зададените тестови стойности 3,4,5,8 всичко е наред и резултатът е такъв какъвто трябва. Но когато се използва 6,7 или друго число за 'n' тогава идват проблемите, от което следва че във Judje-a получавам само 30 от 100. 

Проблемът се явява във for цъкълът, който използвам за тялото на крепостта, по- точно със изчисляването на празните места, при стойност на n различна от тези дадени за тестови. 

Това е решението ми: 

https://github.com/MihailKM/Programming-Basics---SoftUni---May-2016/blob/Exam_Tasks/Draw%20Fort

0
Programming Basics
puffed avatar puffed 289 Точки
Best Answer

Здравей,

Мисля, че има проблем в ред 9, 33 и ред 44: 

var fortressTowerBottom = '\\' + (new string('_', n / 2)) + '/';

Console.Write(new string('_', fortressMiddle / 2));

Дължината на стринга от долни черти не трябва да се изчислява така. Ако беше просто n/2, тогава и за n = 4 трябваше да го има и да е с дължина 2, а в примерите го няма. Лошото е, че не е дадено за n = 6 колко да е, но по моето решение, което взима 100 точки, виждам, че при n = 6, дължината на този стринг е също 2 символа, както при n = 5. Всъщност неговата дължина е просто остатъка от цялата ширина на крепостта минус всички останали елементи, за които явно знаем колко са дълги, като ^^^ и страните. Моята променлива за това е: 

int mid = 2 * n - 2 * (n / 2) - 4;     //When n < 5, mid <= 0; When n = 5, mid = 2

2 * n -> това е цялата ширина на крепостта

2 * (n / 2) -> това са двете кули ^^^

4 -> за четирите наклонени черти

Ето и пълния ми код: http://pastebin.com/M7P5X2Ce

1
23/08/2016 01:27:04
MihailKM avatar MihailKM 1 Точки

Благодаря! 

Проработи!

0
ZornitsaSerbezova avatar ZornitsaSerbezova 455 Точки

Прочети правилата на форума и преди да публикуваш тема, първо проверявай дали няма друга такава.

Проблемът ти е, че не изчисляваш правилно броя на интервалите в крепостта.

0
23/08/2016 07:18:39
ivan.d.uzunov avatar ivan.d.uzunov 22 Точки

http://pastebin.com/ixNPMXMJ - ето ти още едно решение. Според мен е максимално опростено и кратко (сори за смешните имена на променливи, но няма как :) )

0
RIFFRAFF avatar RIFFRAFF 7 Точки

Това е начинът по който подхождам към почти всички такива задачи за рисуване. Разглеждат се зависимостите и се записват , след това се разделя обекта на отделни сегменти . Така поне при мен работи , защото имаш глобален поглед върху проблемите , които трябва да се решат. 

Ето моето решение на тази задача : https://pastebin.com/6mi4rQY3

0
23/01/2018 05:35:50
dZf1aeA-Nikolay_A avatar dZf1aeA-Nikolay_A 4 Точки

Ето едно решение и от мен с вложен цикъл. Дано ти помогне ;) 

https://pastebin.com/TikqhM3E

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