[ C# Basics Exam 7 November 2014 ] Problem.03 Plane
Здравейте, наскоро започнах да решавам и 3тите задачи от изпита за влизане в SoftUni. Може би не трябваше да започвам с по-сложните рисунки, но вече е късно а и не искам да я оставям нерешена. Имам няколко проблема, за които се надявам да ми помогнете.
Проблем 1: На 6 ред не отпечатвам нужното, когато въведа 7 и 9, защото не мога да намеря подходящата формула, при която точките по средата при "n = 5 са 11"
"n = 7 са 17"
"n = 9 са 23"
Проблем 2: При 9, 10, 11 и 12 ред, външните точки не ми ги намалява с -1 въпреки, че съм задал командата, а вътрешните --> не се увеличават с 2.
Тук е кодът
Благодаря предварително!
Здавей, като гледам не смяташ правилно различните части на самолета (височините).
Погледни първия ми пост, където съм написал коя част колко висока е, от там нататаък всичко е лесно.
Здравей, преправих ти твоето решение. Промени има само по първите два цикъла. Проблемите ти идват оттам, че пишеш по-сложни изрази, а те могат да бъдат опростени. Добре е да създаваш променливи, тъй като след това можеш да ги използваш и в следващите редове като само отбележиш разликата с предходните. Обикновено има зависимост между отделните части.
Друго, което ми направи впечатление е, че винаги работиш в циклите с i++, а понякога е по-удобно да е с i+=2.
http://pastebin.com/DbqHZv5C
Така кодът дава 100 точки в джъджа.
Дебъгвайте бе, хора, дебъгвайте! То затова има дебъгер. :)
Веднага ще си хванеш къде точно ти гърми програмата или ти прави грешно изчисление. В задачите за рисуване обикновено става въпрос за "донатамъняване". Където е +1 да е -1 или някаква такава тъпотия.
При теб грешка се получава когато въведеш 17 или по-голямо число. Би трябвало да е в първия цикъл (сори, няма как да го видя, с линукс съм на работа). Пробвай да въведеш примерно 25 и ще видиш веднага къде точно е. Това е някаква грешка в изчислението. Промени формулата, явно не смята точно, но при малките числа отклонението е твърде малко и целочисленото деление не се обърква.
Поздрави!