Loading...

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

djivanp avatar djivanp 6 Точки

{PROGRAMING BASIC} -[CONDIOTIONAL STATEMENTS]-PROBLEM.15 Време + 15 мин

Здравей , @petar 

ако може някой да даде едно рамо относно задачата за добавяне на 15 мин към зададено време и отпечатването и на конзолата с + 15мин.Понеже съм онлайн и нехванах много идеята за това упражнение.Благодаря предварително ! :)

 

а ето тук може да видите колко съм я забатачил :) http://pastebin.com/L3WB8W2y

Тагове:
0
Programming Basics 02/02/2016 14:06:02
petar.dimitrov.86 avatar petar.dimitrov.86 450 Точки

Здравей, ще ти дам няколко насоки, с които би трябвало да можеш да се справиш. Като гледам се опитваш да ползваш логиката от сумирането на секундите. Обаче разликата е че там се вкарваха 3 променливи, които се събираха, и имаше как да надвишат сумата от 120 примерно. И затова имаше 2 if-а, които казваха че трябва да се намалавят сумарните секунди с 60, за сметка на минутите. В тази задача трябва малко по-различно да се погледнат нещата. Двете променливи са ти първоначално въведените час и минути, примерно кръсти ги hours1 и minutes1,и може още в началото на кода да вкараш променливи minutes2 = minutes1 + 15 и hours2 = hours1 (само в началото). И след това вече трябва да почваш да правиш няколко различни if сценария, ако примерно часа е 14:54, то като се добавят 15 минути, ще се добави 1 към часовете и ще се махне 60 от минутите. Обръщам внимание, че също трябва да разгледаш вариант и ако е примерно 23:47, трябва да не се показва после 24:02,а 0:02. Трябва да се разгледа и случая, в който изходящите минути са под 10, защото тогава се пише една нула преди тях. Като допълнителна насока, варианта, който аз направих, първият ми голям If беше за това ако minutes2 (сбора от въведените минуте +15) са ми >= 60, тогава казвах само че hours2 = hours1+1; и вече след тях разглеждах други if варианти. Успех, и ако стигнеш до някъде и пак се затрудняваш, пиши :)

0
djivanp avatar djivanp 6 Точки

благодаря :) много подробно и ясно , започвам да видя дали ще го схвана сега :)

0
djivanp avatar djivanp 6 Точки

Здраей отново , 

ако може да те помоля да погледнеж ето тук http://pastebin.com/vn3gKuL7

написах я работи изкарва сойностите който са в задачата но в същото време judje - а казва че е на 29 процента демек за нищо нестава :).Благодаря ти !

 

тук пробвах още някви неща:http://pastebin.com/nE3iXnkD и нищо нестава :(

0
02/02/2016 14:36:34
petar.dimitrov.86 avatar petar.dimitrov.86 450 Точки

Здравей отново, нещо при мен judge се движи тромаво и ми дава грешки за времето за което пробва програмата и няма как да проверя точно какво се случва, но от кода ти виждам следното. Meжду 13 и 17 ред си променяш стойностите предварително, преди да пускаш другите if-ове, което е доста хитро, и аз не се бях сетил така е направих 3 if-а едни в други :Д та ти така доста код си спестяваш и трябва да разгледаш след това просто два големи if-a.

Първия е как да реагира програмата ако hour2 се получи >=24 и в него вкарваш още два малки if-a, единия проверява дали минутите са <10, а другия >10, и в зависимост от това си определяш знаците, кога ще слагаш нули и две точки

Втория голям if е ако hours2 е < 24 и аналогично на горния начин, проверяваш дали minutes2 са повече или по-малко от 10.

Обобщено за всеки от двата горни if-a трябва да направиш още една малка if проверка за стойността, която си получил за minutes. 
Извинявай ако малко хаотични ми изглеждат мислите, дано съм го обяснил горе-долу логично, и разбираш какво имам в предвид. Като съвет за по-лесно да виждаш кой if се намира в друг if, вкарвай си малко по-навътре вътрешните if-ове (въпреки че програмата го прави автоматично вместо теб) за да може по-лесно да следиш кой if за кое условие е.

П.п. съжалявам за бавния отговор, форума не зареждаше нещо...

0
kiso_blg avatar kiso_blg 57 Точки

Колеги, опитайте се да решите задачата и като използвате DateTime(). Мисля, че ще е полезно упражнение.

1
petar.dimitrov.86 avatar petar.dimitrov.86 450 Точки

Звучи интересна идеята, но конзолата нали чете две отделни числа - едно за часовете и едно за минутите? Или да се направят два различни DateTime-а  и от единия да се вземат само минутит, a oт другия само часовете и да се ползва .AddMinutes?

0
kiso_blg avatar kiso_blg 57 Точки

Двете отделни числа могат да се добавят към DateTime-а като стойност за минути и часове и после да се принтира само часа и минутите в искания формат.

1
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

Прилагам едно решение с TimeSpan да го разгледате http://pastebin.com/U5tYgdUx

2
GeorgiGG avatar GeorgiGG 6 Точки

Решението с TImeSpan също ми се стори много интелигентно, въпреки, че целта май е да поупражним if-else конструкцията.

Някой да е решил задачата с с изчисляване на остатък при деление на 60 (за минутите) и остатък при деление на 24 (за часовете), както беше подсказано в условията? Чудно ми е как става така? (по-скоро логиката)

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