Loading...

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

StoyanShopov avatar StoyanShopov 1 Точки

Проблем със задача " 11. Odd / Even Position".

Здравейте пичове, 

имам проблем със задача "11. Odd / Even Position" от "Simple Loops", когато искам да принтирам минималното нечетно и минамалното четно, не става и като пуснах дебъгера, намирами ми ги минималните стойности и после, когато му кажа примерно oddMin = num, не иска да ми го запише... това ми е сорс кода http://pastebin.com/mMYFKu96, някой би ли ми обяснил защо?

Тагове:
0
Programming Basics
i.petk0v avatar i.petk0v 56 Точки
Best Answer

В началото на кода предаваш стойност на всичко " 0 ", а би следвало при Min i Max да е в следния вид:

 

double OddMin = double.MaxValue;
        double OddMax = double.MinValue;  

 double EvenMin = double.MaxValue;
            double EvenMax = double.MinValue;

 

За начало ми се наби на очи това.

Поздрави,

Иван

0
28/12/2016 10:25:24
ThePSXHive avatar ThePSXHive 436 Точки

Идеята за инициализирането с .MaxValue и .MinValue е коректна, затова ще коментирам останалата част от кода:

 

Разположи проверката за 0 в началото, при въвеждането на n. Принципно, проверките за размера на входа винаги са в непосредствена близост до въвеждането му. Това е вярно и за стойностите, когато ги въвеждаш в цикъла. В конкретната ситуация, проблемът е, че ти проверяваш две различни условия с if/else-if конструкция. Например, условието за това въведенатa стойност да е по-малка от минималното четно число е различно от условието същата стойност да е по-голяма от максималното четно число. Няма връзка между тези условия; ако първото е вярно, то и второто може да бъде вярно, и когато няма връзка между отделните условия, всяко от тях трябва да бъде проверено. Това се осъществява само с if. Когато ползваш if/else-if, ако първото условие е истинно, то останалите не биват проверявани, и стойностите на променливите въобще не се променят.

 

P.S. Едно "100/100" решение, но на C#. Допълнителните твърдения са добавени, понеже използвам SharpDeveloper, и в случая нямам привилегията да "задържам" конзолния прозорец без допълнителни инструкции.

0
28/12/2016 15:59:05
StoyanShopov avatar StoyanShopov 1 Точки

Здравейте, 
беше ми развален лаптопа и сега успях да продължа със задачата и стигнах до тук http://pastebin.com/1E84CQ7i  (малко е бъркотия), но в някой от случайте, когато максималните четни/нечетни са отрицателни, винаги ги ми принтира "0"... може ли пак малко помощ, какво трябва да направя?
Благодаря Ви!

0
30/12/2016 11:32:35
g_todorov avatar g_todorov 106 Точки

Здравей,

задачката е интересна и има много начини за решаване. Пускам ти един мой начин, хубавото на който, е че ще ти добави малко нови знания - ползвал съм списъци, а вградените функции са ясни. Списъците вървяха до колкото си спомням заедно с масиви в една лекция и можеш да я намериш от ресурсите тук, но не в бейсик, а в Tech модула (не съм на 100% сигурен). Много ще са ти полезни.

Успех!

http://pastebin.com/4cWN43LK

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