Loading...

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

yana_neykova avatar yana_neykova 3 Точки

DrawingwithLoops - Diamond

Здравейте,

 

Имам въпрос за задачаата за диамант от Drawing with loops  лекцията.

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

Ето и кога ми: http://pastebin.com/TZWEx7Aq 

 

Някой може ли да ми помогне къде е  проблема?

 

Благодаря предварително!

Тагове:
0
Programming Basics
dakh93 avatar dakh93 53 Точки

Здравей колежке,

формулата ти не беше правилна поправих я за да върви и имаше още 2 грешки.

1.Знаците не са тиренца,а  долни черти.

2.При вход 1 или 2 ти излизаха по 2 пъти(може да си погледнеш кога),затова направих 2 if-a за да се избегнат гърмежи.

Ето го кога : http://pastebin.com/La9DpXVK

Надявам се да съм помогнал :) Успех !

1
01/03/2017 22:33:58
yana_neykova avatar yana_neykova 3 Точки

Здравей, мерси за отговора. 

Използвам тирета, а не долни черти, просто защото в джъдж системата си иска тирета. За останалото ще пробвам с иф-овете. 

0
tdk928 avatar tdk928 108 Точки

Чесно казано за мен е доста объркваща тази логика.
1.Според мен е по-добре да ползваш плейсхолдери {0}{1}{2}..
В случея след дебъг виждам ,че ти гърми на ЧЕТНИТЕ числа и по-конкретно долната част
ето ти код за долната част:

http://pastebin.com/GY2FA3er

Не сам го написал супер кадърното с b/d но това е лесния начин за решаване на тия задачи според мен.
Инициализираш int a = (броя на повторенията на каквото ще ти трябва)и после го намаляш или увеличаваш при всяко завъртане на цикала в зависимост от това елементите ти (примерно тиретата какво е в случея увеличават ли се или намалят)в случея нямалят с 2 на ред затова b-- (едно от ляво , едно от дясно).

0
kolioi avatar kolioi 641 Точки

Трябва да промениш тези два реда

33.           int downRows = (n / 2) - n % 2;
34.           for (int lastRows = 1; lastRows < downRows+1; lastRows++)

съответно

33.          int downRows = (n -1) / 2;
34.          for (int lastRows = 1; lastRows < downRows; lastRows++)


А, и трябва още да оправиш кода за n = 1 и n = 2

 

0
01/03/2017 23:49:25
yana_neykova avatar yana_neykova 3 Точки

Благодаря за съветите! 

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