Loading...
niki_dalgia avatar niki_dalgia 5 Точки

Time + 15 Minutes проблем

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

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

namespace Time___15_Minutes
{
    class Program
    {
        static void Main(string[] args)
        {
            var chas = int.Parse(Console.ReadLine());
            var min = int.Parse(Console.ReadLine());
            if (chas >= 23)
            {
                if (chas >= 23)
                    Console.WriteLine(chas);

                else

                    Console.WriteLine(chas + 1);

            }
            else if (min >= 45)
            { 
                if (min >=45)
                Console.WriteLine(min);
                else (min>45)
                    Console.WriteLine(min -15);
            }
        }
    }
}
 това е там до където съм стигнал.

Тагове:
0
Programming Basics 25/10/2017 21:07:49
dimitar.v avatar dimitar.v 15 Точки
Best Answer

На твоето внимание две решения показани на лекциите

Вариант 1 

using System;

namespace _14.Time_add_15__Minutes
{
    class Program
    {
        static void Main(string[] args)
        {
            var hour = int.Parse(Console.ReadLine());
            var min = int.Parse(Console.ReadLine()); 

            min += 15;
            hour += min / 60;
            min = min % 60;
            hour = hour % 24;

            Console.WriteLine($"{hour}:{min:d2}");

        }
    }
}

Кратко обяснение: след като се прочетат данните добавям 15 мин.

На следващият ред ако мин са повече от 60 се добавя един час.

И на следвъщият ред проверявам дали мин са повече от 60, ако е така взимам остатъка.

На следвъщият ред ако часът е 24 ще вземе 0, ако е по-малко остаъка (нищо няма да се промени)

При разпечатването използвам 

"D" или "d"

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

 за което може да прочетеш по средата на тази страница http://www.introprogramming.info/intro-csharp-book/read-online/glava4-vhod-i-izhod-ot-konzolata/

===============================================

Вариант 2 с два if -а

using System;


namespace _14.Time_add_15__Minutes
{
    class Program
    {
        static void Main(string[] args)
        {
            var hour = int.Parse(Console.ReadLine());
            var min = int.Parse(Console.ReadLine()); 

            min += 15;
                 

            if (min > 59)
            {
                min -= 60;
                hour += 1;
            }
            if (hour > 23)
            {
                hour -= 24;
            }

            Console.WriteLine($"{hour}:{min:d2}");

        }
    }
}

Тук не знам дали се нуждае от коментар.

Ако имаш въпроси съм готов да отговоря.

0
26/10/2017 10:09:00
AlexanderPetkov27 avatar AlexanderPetkov27 1 Точки

Някой може лу да ибясни това 'd2' в скобите откадв дойде и как рабори. Благодааря

 

 

 

 

            Console.WriteLine($"{hour}:{min:d2}");         }     }

 

 

 

 

0
27/10/2017 22:16:07
breikara78 avatar breikara78 1 Точки

Извежда изхода с водещи нули отпред ако числото е с по-малко от 2 цифри. Например ако числото е "1" то ще го изведе като "01", а ако числото е "12" ще си изведе "12".

0
inkarnasion avatar inkarnasion 278 Точки

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

https://pastebin.com/T8nXvNXn

0
niki_dalgia avatar niki_dalgia 5 Точки

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

namespace Time___15_Minutes
{
    class Program
    {
        static void Main(string[] args)
        {
            var chas = int.Parse(Console.ReadLine());
            var min = int.Parse(Console.ReadLine());
            if (chas >= 23)
            {
                if (chas >= 23)
                    Console.WriteLine(chas);

                else

                    Console.WriteLine(chas + 1);

            }
            else if (min >= 45)
            { 
                if (min >=45)
                Console.WriteLine(min);
                else (min>45)
                    Console.WriteLine(min -15);
            }
        }
    }
}
До тук стигнах и нищо не ми идва на акъла направо забих... а задачата е за C#

0
inkarnasion avatar inkarnasion 278 Точки

Ето заповядай 100/100:

https://pastebin.com/2KxrXxq4

0
desislava777 avatar desislava777 165 Точки

Заповядай още едно решение на C# https://pastebin.com/jUT1ae0g

0
niki_dalgia avatar niki_dalgia 5 Точки

Проблема е, че макар задачите Ви да са верни, за мен те са напълно непонятни! Искам да видя примерно решение със знанията които съм получил до тук. А тези решения за мен са още по объркващи защото грам нищо не мога да разбера от тях. Ако някой има по просто решение, нека го даде. Благодаря

0
Tonny avatar Tonny 42 Точки

Ето моето решение, използвала съм &&, но то беше дадено в последната лекция - представлява логическо "И". Така се получава по- стегнато решение. Иначе всичко друго е със снанията до тук. Дано ти е полезно!

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

namespace Time_15_min
{
    class Program
    {
        static void Main(string[] args)
        {
            var hour = int.Parse(Console.ReadLine());
            var min = int.Parse(Console.ReadLine());
            if (min <= 44)
            {

             Console.WriteLine(hour + ":" + (min + 15));

            }

            else
            {
                var minNew = min + 15 - 60;
                var hourNew = hour + 1;
                if (hourNew < 24 && minNew < 10)

                {
                    Console.WriteLine(hourNew + ":0" + minNew);
                }
                else if (hourNew< 24 )
                {

                   Console.WriteLine(hourNew + ":" + minNew);
                }

                else if (minNew < 10)
                {
                    Console.WriteLine((hourNew - 24) + ":0" + minNew);

                }
                else
                {
                    Console.WriteLine((hourNew -24) + ":" + minNew);
                }

                }

         }
    }
}
 

0
TsvetalinTsonev avatar TsvetalinTsonev 3 Точки

using System;
using System.Globalization;
using System.Collections.Generic;


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


            string a =Console.ReadLine();
            string b = Console.ReadLine();
           string Time = a + ":" + b; ;

            

            TimeSpan t = TimeSpan.Parse(Time);
            TimeSpan f = TimeSpan.Parse("0:15");

            Console.WriteLine(t.Add(f).ToString(@"h\:mm"));

        }

    }
}

0
bisi_bg avatar bisi_bg 2 Точки

Заповядай едно решение с последния материал :-)         

            var hour = int.Parse(Console.ReadLine());
            var min = int.Parse(Console.ReadLine());
            min += 15;
            if (min >= 60)
            {
                hour += 1;
                min = min - 60;
                if (hour > 23) hour = 0;
                if (min % 60 < 10) Console.WriteLine(hour + ":0" + min);
                else Console.WriteLine(hour + ":" + min);
            }
            else Console.WriteLine(hour + ":" + min);

0
simeon3000 avatar simeon3000 264 Точки

Мисля че още на второто упражнение от Programing Basics имаше работа с DateTime и според мен това е правилния начин за решаване на задачи, свързани с часове, дати, времеви интервали:

https://pastebin.com/2ews5AB8

0
28/10/2017 19:29:21
fORTAKENN avatar fORTAKENN 13 Точки

Въпреки, че има много отговори ето ти и моето решение то е без && и имам 100/100 в judge :) https://pastebin.com/ReYhnrWE

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