Loading...

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

Ingenera avatar Ingenera 22 Точки

На пръв поглед не виждам къде си отчел че стъпката може да е отрицателно число - примерно ако посоката е надясно но стъpката е оптицателна то буболечката отлита наляво тогава трябва да провериш да не излезе от лявата страна на полето(index <0). Същото е за команда наляво с отицателна стъпка - отлита надясно но ти не проверяваш дали излиза от полето от дясната му страна (index >field.length) 

0
Ingenera avatar Ingenera 22 Точки

https://pastebin.com/dwHcgf7A

Поиграх си малко с твоя код и сега е на 100 про.

Не е добра идея да ползваш for цикъл във метод защото не можеш да го брейкнеш (ще ти брейкне целия метод) 

 

0
VasilKotsev avatar VasilKotsev 830 Точки

Скоро време само глупости чета във форума... Позволих си да коментирам, защото някой ще види този отговор и ще си извади грешни изводи... Няма никакъв проблем да се използват break statement-и в телата на цикли и switch case-ове. Няма такъв случай където да се "брейкне" целия метод. Метода приключва когато се връща стойност с return statement, ако e void - когато се стигне до края на инструкциите в него или ако изникне exception, който не е обработен вътре.

1
Ingenera avatar Ingenera 22 Точки

Да така е но всеки return където и да се намира той те вади от метода . И в случая с кода на колегата използването на for цикъл в метода му не е добра идея и доста усложнява логиката.По скоро дай на него съвет и решение ,аз поне поработих над кода му - нищо че все бързам.Може още да се изчисти ама нека и той се потруди.

0
VasilKotsev avatar VasilKotsev 830 Точки

Така...  Има огромна разлика между break и return statement-и, да не кажа, че нямат нищо общо. Самите use case-ове са съвсем различни. break keyword-а приключва итерациите в тялото на цикъла и програмата продължава с инструкциите след него, докато return приключва работата на метода/функцията, като може да връща стойност или да не връща ако е извикана във void метод.

Никъде не видях ,в кода на автора, да "брейква" от циклите в методите. Единствения случай е когато трябва да провери дали командата, която е въведена, не е терминираща. Тук по-скоро проблемът е подхода към решението на задачата, не знам условието а и съм карал модула преди доста време. По-скоро е пропуснал някакъв граничен случай. Да, може да се рефакторира и да се направи по-изчистено и кратко, но няма никакъв проблем с това да се използват цикли в методи. Той връща нови колекции - в случая масиви. Колко са вярни операциите върху тях е друга въпрос въпреки, че щом го е докарал до 80/100 с този код, макар че е супер грозен работи до някаква степен.

Това са задачи, която цел е да упражните работата с индекси и граници на колекции, няма как да не ви се наложи все някога да не завъртите For, foreach, while, do-while в метод. 

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