Категория
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 614 Точки

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

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