Професионална програма
Loading...
+ Нов въпрос
dddinkobakalov avatar dddinkobakalov 22 Точки

Решение на задача Odd / Even Position от лекцията Simple Loops

Здравейте,

след няколко опита да реша тази задача, получавам най- много 20% в Judge системата. Омотавам се и не мога да разбера как трябва правилно да се направи и изгради решението. Ако някой е усппял да я направи лесно и може да качи едно решение с разяснение ще съм благодарен.

Тагове:
0
Programming Basics
dddinkobakalov avatar dddinkobakalov 22 Точки

Ето да кача един от опитите ми за решение, който е грешен и непълен: http://pastebin.com/gZ9eyTsk

0
svetljo avatar svetljo 27 Точки

Здравей, разгледай това решение: http://pastebin.com/xKWuhALW

0
dddinkobakalov avatar dddinkobakalov 22 Точки

Много ти  благодаря за бързата реакция. Сега ще го разгледам внимателно, за да видя къде точно са грешките ми.

0
ZornitsaSerbezova avatar ZornitsaSerbezova 455 Точки

Първата ти цел трябва да е да получиш верни решения във Visual Studio и след това да постваш задачата в Judge, На теб решението ти не работи и във Visual Studio. Виж къде получаваш грешни отговори и се опитай да редактираш програмата, така че да ги даде верни. Ако те затруднява на пръв поглед да разбереш къде ти е проблема, се научи да дебъгваш. Много е лесно.

0
14/07/2016 20:17:53
dddinkobakalov avatar dddinkobakalov 22 Точки

Да, разбира се, така е. Аз не постигнах успешно решение и след като не успях да измисля нищо, реших да попитам тук, защото има хора с повече опит. Иначе сега като видях по-горе решение усетих къде логиката ми не е на ниво. Не ползвам дебъг все още, трябва при тези задачки да започна да го ползвам и да видя какви са неговите възможности. Благодаря ти за съветите.

0
ZornitsaSerbezova avatar ZornitsaSerbezova 455 Точки

Основният ти проблем е, че не трябва да ползваш else if при проверка за по-голямо и по-малко число, защото така при изпълнено условия на if, ти изключваш условието на else if, а ти трябва да проверяваш и двата случая. Т.е. Трябва да използваш два if-а, вместо if и else if.

ето тук:

                    EvenSum += num;
                    if (num <= EvenMin)
                    {
                        EvenMin = num;
                    }
                    else if (num >= EvenMax)
                    {
                        EvenMax = num;
                    }

Else if се изпълнява ако не е изпълнено условието на if.

В този случай когато имаш въведени само две числа, ти проверяваш първото (единствено нечетно) само за минимална сума, а проверката за максимална се игнорира. А те всъщност, понеже числата на четни и нечетни позиции са само по едно, са ти и максимални и минимални едновременно.

0
15/07/2016 08:05:53
dddinkobakalov avatar dddinkobakalov 22 Точки

Много ти благодаря за решението. Ще го пригледам внимателно.

0
dimitrow97 avatar dimitrow97 1 Точки

http://pastebin.com/JXmBgMrM
Ето ти едно решение и от мен. Написал съм коментари разяснявайки, кое какво прави. Дано съм помогнал. 

0
dddinkobakalov avatar dddinkobakalov 22 Точки

Благодаря и на теб. Хубаво е, че има разяснения. Това ще ми е от полза.

0
borislav9212 avatar borislav9212 745 Точки

Ето и от мен едно решение с масив и тернарен оператор вместо иф - елсе конструкция. -> http://pastebin.com/6tsCmZVX

0
Ivvelichkova avatar Ivvelichkova 7 Точки

Здравейте,и аз имамнужда от помощ,но ако някой може да разясни какво оплесквам,важно ми е да знам.Готови решения има много,,интересува ме какво аз не знам,а много съм се забатачила  
:) Благодаря предварително
ето кода   http://pastebin.com/S7wNxzH2

0
dddinkobakalov avatar dddinkobakalov 22 Точки

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

0
desiko avatar desiko 1 Точки

if (numss < oddMax)

                {

                    oddMin = numss;

                }
Всички проверки са ти грешни.Проверяваш с максимално, а присвояваш към минимално и обатното.

0
Ivvelichkova avatar Ivvelichkova 7 Точки

Смених местата на odd/even и ,да,бях сменила Мин и Макс,оправих ги ,но пак е боза:
http://pastebin.com/3ANTd8Jk

не знам защо не смята sumEven дори...

0
bepcho avatar bepcho 1 Точки

Със стабилно закъснение, едно решение и от мен :)

http://pastebin.com/Ts2Pm7eW

Не видях някой да е използвал кейсове.

0
karaD avatar karaD 1 Точки

Здравейте, вижте още едно подобно решение с if/else конструкция.

http://pastebin.com/shaTaU8B

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