Задачата за Брадвата от изпита Programming Basics Exam - 28 August 2016 за мен се оказа голям Чук
http://pastebin.com/LpGn4ZMC
http://pastebin.com/LpGn4ZMC
Заповядай колега =>
Console.WriteLine("{0}{1}{2}", new string('-', 3 * n - (n / 2) + 1), new string('*', 5 * n - (3 * n - (n / 2) + 1) - (n - n / 2)), new string('-', n - n / 2));
Здравей,
Приготви се да ти стане много гадно :Д. Значи намерил си зависимостта до предпоследния ред, това, което е трябвало да направиш е да врътнеш още един път последния цикъл, като вместо да принтираш '-' по средата, принтираш '*'. Ако направиш последния цикъл да изглежда така, си взимаш точките:
for (int i = 0; i < n / 2; i++)
{
if (i != n / 2 - 1)
{
Console.WriteLine("{0}*{1}*{2}", new string('-', n * 3 - i), new string('-', n - 1 + i + i), new string('-', n - 1 - i));
}
else
{
Console.WriteLine("{0}*{1}*{2}", new string('-', n * 3 - i), new string('*', n - 1 + i + i), new string('-', n - 1 - i));
}
}
Поздрави!
Е чак много гадно,.. формулата просто не ми дойде ,. ясно е че ще е близко до предните ,. но това е на изпит :) Иска ми се да видя и решение без цикъл ,. просто формула ,.(ако има)
Мерси все пак
Здравей,
Имах предвид че си свършил трудната част и си бил доста близо.
Ако някой ми поиска решение без цикъл, бих предоставил твоето (с лека модификация и използване на стринг билдър). За да решиш подобна задача трябва да обходиш всички редове поне по един път, а това няма как да стане без цикъл.
Поздрави!
Аз направих последния ред с if (n % 2 ==0) с една формула,а ако е нечетно с друга и я избутах до 100/100 .
Тези задачи всичките ги решавам , като използвам String.Concat(Enumerable.Repeat()) .Разделям си фигурата на части и става много лесно .Точно тази задача я реших за близо 15 минутки макс.Дълъг код ,но Copy/Paste помага много :D без сложни зависимости,формули и така нататък ... най-много да се декларира допълнително някоя променлива :)
Съгласен,.. просто ми избяга формулата за последния ред !!
Най лесният начин е просто да продължиш цикъла като с една проверка вместо тирета м/у двете звездички сложиш звездички
Това е моето решение на задачата http://pastebin.com/25DQA5iP
Да мерси ,.. работи перфект