Loading...

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

ioannah avatar ioannah 18 Точки

[Programming Basics] [C#] Логически проверки - 15. Time + 15 Minutes

  Това е решението ми - 47/100.:

https://pastebin.com/Gkhawd0j

Може ли някой да ми каже по друг начин как може да се направи тази задача?Най-вече какви са най-удобните варианти за слагане на нула пред число?

 Другият ми въпрос е как да  накарам джъджа да ми дава 100/100 ?? 

Тагове:
1
Programming Basics 17/07/2017 23:19:49
VasilKotsev avatar VasilKotsev 830 Точки
Best Answer

Ето и моето решение изцяло с DateTime:

100/100 Judge

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Globalization;

namespace Timeplus15minutes
{
    class Program
    {
        static void Main(string[] args)
        {

            int hrs_input = int.Parse(Console.ReadLine());
            int min_input = int.Parse(Console.ReadLine());

            string both = (hrs_input.ToString() + ":" + min_input.ToString("00"));
            
            DateTime chasiminuti = DateTime.ParseExact(both,"H:mm",CultureInfo.InvariantCulture);
            DateTime after15 = chasiminuti.AddMinutes(15);

            Console.WriteLine(after15.ToString("H:mm"));
 


        }
    }
}

 

 

1
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

от всички решения тук само @VasilKotsev се е сетил къде е истината,тея цикли проверки дето някои сте ги въртяли са ужас...

datetime или дори в случая timespan са наи-удобното решение.

0
vasildiavolo avatar vasildiavolo 12 Точки

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

И за да не е само офтопик, ето и моето решение, което даде 100/100 и смятам, че е първо елементарно, второ е направено само с изучения до тук материал.


            double inHour = double.Parse(Console.ReadLine());
            double inMinutes = double.Parse(Console.ReadLine());
            double hours = inHour;
            double minutes = inMinutes + 15;


            if (hours <= 22 && minutes >= 60)
            { hours += 1;
               minutes = minutes - 60; }
            else if (hours >= 23 && minutes >= 60)
            { hours = hours - hours;
                minutes = minutes - 60; }
           

            Console.WriteLine(hours + ":" + minutes.ToString("00"));

0
22/01/2018 13:29:25
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

Първо това не са цикли а логически проверки :D второ на лекцията 100% са споменали и datetime timespan и тн. 3то ако чакате да се научите само от лекции успех иска се адски много ровене и четене сами. Затова от самото начало се повтаря,че английския е задължителен.

И последно имаш начин по който да направиш нещата бързо и лесно и друг при който може да изгърмиш някоя от проверките. Познаи кои е правилния начин?

 

0
22/01/2018 15:34:42
vasildiavolo avatar vasildiavolo 12 Точки

Няма нужда да се държиш наставнически с първо, второ, трето... Разбрахме, че разбираш нещата и без такова отношение. Въпросът е че изглежда аз, а и други като мен, не ги разбират все още толкова. И да те питам, като решим една от най-сложните задачи за проверки със съвсем друг метод, утре като ни се наложи да ползваме тези проверки, как ще сме ги разбрали. Не е въпросът да си мерим знанията тук, а да отработим наученото. Затова и хората от СофтУни и в подсказката на задачата са го казали - да правим проверки, а не да търсим най-правилния начин, какъвто очевидно има. То и copy-paste на чуждо решение ще е още по-лесно, ама идеята е да си напънем сивото вещество.  Мерси. 

0
Lacunae avatar Lacunae 1 Точки

Според мен и двамата сте прави. Трябват и знания, и мислене.

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