Задача крепост Drawing with loops
Здравейте,
нa задача 14 не мога да разбера на n= на колко?, трябва да се увеличава знак "_" посредата на първия и последния ред.
в примерните входове в условието се появява при n=5 после при n=8.
Здравейте,
нa задача 14 не мога да разбера на n= на колко?, трябва да се увеличава знак "_" посредата на първия и последния ред.
в примерните входове в условието се появява при n=5 после при n=8.
На тези задачи, когато не съм сигурен за бройката винаги ползвам най-лесния начин от цялото вадя нещата, които знам.
Това би трябвало да свърши работа.
https://pastebin.com/6Pfi1ssc
Заповядай едно примерно решение.
n * 2 - 2 * (n / 2) - 4 Това е формулата по която намираш средната част. Не е много лесно да се сети човек сам за нея. Дано съм ти помогнал!
работи, Благодаря
Здравейте, не намирам тема, в която да са посочени поне някои от основните формули при чертаенето на фигури с цикли.
като среда, определен ред, да проусне н брой позиции или редове и тн.
Можете ли да дадете такива приципни.
Това са едни от любимите ми задачи. Не знам дали ще ти помогне това, но първо като видиш фигурата е необходимо да си я разделиш на няколко части хоризонтално. Всяка част трябва да ти е от приблизително еднакви на пръв поглед редове. Обикновенно първия и последния ред направо си ги принтиш, но в повечето случаи са и в цикли. Второ нещо е да си изведеш променливи за символите, още в началото. Имам предвид за символите на реда. За всяка отделна част от фигурата броиш редовете и ги съпоставяш с числото въведено на конзолата, гледаш всичките ти дадени примери и си нацелваш формулата с "n", която да ти важи за всички примери. Редовете са ти нужни за цикъла за тази част от фигурата. След това гледаш първия ред на частта на която си се спрял и броиш символите, сравняваш всиките ти дадени примери, за да видиш, коя формула ще ти дейстава за всеки символ, местата на символите, ще си подредиш с плейсхолдърите в командата за принтене. При задаването на цикъла обърни внимание и на колоните, на които определените символи ще трябва да мърдат. Взависимост от това с колко стъпки се местят символите, под командата за принтене нареждаш променливите на символите съответно със стъпките, които си преброил ( пример: dots--; , stars++; , dots+2; , -2;. Не забравяй в командата по-горе, след плейсхолдърите, в new string-a, да задаваш правилно повторението на символа на първия ти ред от всеки цикъл. Ако символите са ти еднакви във всяка част или в две поредни части от фигурата , не забравяй, че като ти проключи цикъла на съответната част, ти се запазват бройките на символите от последното завъртане на цикъла, което нещо го ползваш за следващия ти цикъл.
Не знам дали го обясних правилно, но при мен работи, ето и пример със задачата за чертане на брадвата: https://pastebin.com/pihNB0KP
Да! Несъмнено, ми е от полза отговора ти, за което много ти благодаря!
Има неща, които не ги разбрах съвсем на 100%, но в процес на писане се надявам, че и те ще ми станат ясни.
:)
pako13bg Знам,че става въпрос за друга задача, но все пак ще те помоля да ми кажеш как да наредя чертите да бъдат една под друга и от дястана страна.Днес тепърва започвам да решавам такъв тип задачи и ми е трудно да се орентирам.
задачата е Знак СТОП и кода ми https://pastebin.com/RJKGBNhD
Благодаря!
Редовете на втората част на фигурата в цикъла са зададени n-2, а те са равни точно на n. Цикъла трябва да започне от 1 и да се върти до n. Зададените променливи в началото няма да ти работят за всички примери. Когато се създават променливи трябва да се гледат показаните примери да работят за всички. Не е нужно да се създават променливи за всеки ред на цикъла ( излишни са w и b). В задачата се искат други символи на изхода ( в задачата се иска '.' , а не '*'). Трябва да преработиш кода.
pako13bg Отново ти благодаря! Ще поразгледам първо.Дано ми се получат.За сега единствено успешно направих задача Пеперуда със 100 т.
:)
Привет, това е моето решение за задачата https://pastebin.com/qCXkbHML при което ми изрисува крепостта както е показано по условие,но джъдж дава ми 30/100.Някакви идеи къде може да е грешката.
Pako13bg наистина се е постарал и е дал доста добро обяснение какъв е в общи линии алгоритъма за решаване на този тип задачи. Идеята е фигурата да се раздели на няколко части, при всяка от които може да се изведе някаква закономерност как се изобразява, и друг основен момент е изваждането в променлива на броя символи с които започва да се рисува даден елемент от фигурата, която променлива в последствие да се увеличава/намалява според картинката.
Конкретни "основни" формули за решаване на този тип задачи наистина няма, тъй като всяка картинка си е индивидуална и си изисква да се изведе закономерността за изобразяване на отделните елементи от нея.
Можете да видите тук моето решение на конкретната задача. В профила ми в гитхъб има и доста други решения на задачите от курса и от изпитите. Смея да кажа че тези задачи в началото и на мен ми бяха "WTF?!?", но след каато в някакъв момент чувек им схване идеята, стават доста приятни и интересни.
Здравейте, понеже днес бях на път да се отчая от тази задача, се чувствам задължена да споделя простата логика за изчисляване средната част на крепостта. Това са именно печатането на "-" и следователно на празното пространство под тях в края на крепостта. Формулата си е пред нас, само трябва малко да се загледаме повече. :)
Дължината по условие на крепостта е 2*n, като винаги имаме общо на брой на един ред 4 наклонени черти: "/", "\","/","\", а формулат за печатане "^" е n/2 и при четно и при нечетно n. "^" се повтарят по 2 пъти- от лявата и от дяснат част на крепостта. Следователно средната част на крепостта ще се получи, като от общата дължина (2*n) извадим 4, защото наклонените черти са общо толкова, и след като извадим и общия брой на "^" (2*n/2), т.е. var mid=2*n - (2*n/2) - 4.
Поздрави!