Loading...
antonio_rtodorov avatar antonio_rtodorov 74 Точки

Цикли - да си помогнем взаимно, как да ги разбереме от различни гледни точки.

Здравейте,

начинаещ съм в тази сфера и не съм срещал грандиозни трудности както при циклите. Много са ми трудни гледах най - различни материали, играх си с конзолата, дебъгъра и какво ли не. Мога да ги назубря, но не ми е това идеята. Искам да схвана логиката, процеса и като си задам въпроса "защо" трябва да имам максимално коректен отговор. За това се обърщам към по опитните за обяснение от тяхната гледна точка и начинаещите, които имат подобно затруднение да споделят от къде черпят информация и какво не им е ясно .

 

P.S. понеже търсих във форума подобна тема, ако трябва нещо да се коригира ще го направя.

Тагове:
1
Общи приказки
antonio_rtodorov avatar antonio_rtodorov 74 Точки

Можете ли да ми кажете, защо в този случай min и maxValue не ми принтира числата, които съм въвел?

https://gist.github.com/antoniortodorov/51ddb2091ed9652c029d

0
DHristoskov avatar DHristoskov 211 Точки

Грешката ти е в това, че задаваш като начална стойност за maxValue = double.MaxValue, и всяко въведено от потребителя число ще бъде по малко от максималната стойност за double.Или с други думи няма да се промени.

Правилният начин е да зададеш :

        double maxOfNum = double.MinValue;- тогава всяко въведено число ще бъде по голямо от първоначално зададеното, и всеки път когато имаш по-голямо от предишното ще го запазваш в променивата maxOfNum.

        double minOfNum = double.MаxValue; -  респективно всяко въведено ще бъде по - малко.

        double sumAll = 0;

 

Знам че не e добре да ползваш LINQ още от сега, защото с него ще ти бъде по - лесно и няма да научиш основни неща, но все пак ако ползваш System.LINQ, задачата ти се свежда до:

numberUs.Min();

numberUs.Max();

numberUs.Average()

П.С Виждам че в няколко поста се интересуваш от циклите и срещаш трудности с това да разбереш как работят.Отвори ми профила цъкни на Skype и ми прати request ще се опитам да ти обясня

1
23/06/2015 22:19:07
antonio_rtodorov avatar antonio_rtodorov 74 Точки

Значи maxValue по подразбиране на името му, не трябва ли да показва най-голямото число, въведено от потребитела? За съжаление информацията за skype е достъпна само за SoftUni. Ако искаш намериме във FB Antonio Todorov

0
DHristoskov avatar DHristoskov 211 Точки

Достъпна е можеш да ме добавиш по всяко време над снимката има икона на Skype и можеш да цъкнеш на нея.

А относно въпроса, когато кажеш, че една променлива е равна на double.MaxValue ти казваш че е равна на

-1.79769313486232E+308 - MinValue
1.79769313486232E+308 - MaxValue

все едно казваш double maxOfNum  =1.79769313486232E+308, няма как да подадеш по голямо число от това на double и следователно няма как да го промениш след като условието ти е да се промени ако има по - голямо от него число.

За това му задаваш MinValue  и всяко подадено число ще бъде по голямо от него, запазваш го при следващата проверка проверяваш новото число дали не е по- голямо и така.

Успех!!

0
23/06/2015 21:53:22
RoYaL avatar RoYaL Trainer 6849 Точки

Няма такива магии като максималното число въведено от потребителя. Това е някакъв много специфичен кейс, който никой не би имплементирал в езика си. Да намериш максималното число от Х на брой въведени числа от потребител трябва да стане логически - да проверяваш дали всяко число не е по-голямо от предходното в общия случай.

Представи си го като да имаш на лист хартия написани много числа, как да намериш най-голямото число от числа, запълнили А4 лист. Brute force :) Ако второто е по-голямо от първото, то за момента считаш че второто е най-голямо. Ако третото е по-голямо от второто, то считаш, че за момента третото е най-голямо. Ако четвъртото НЕ Е по-голямо от третото, то третото остава най-голямо и така, докато свършиш с числата и не се окаже, че някое в редицата не се е оказало най-голямо.

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