Loading...

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

djc_bg2015 avatar djc_bg2015 923 Точки

Стигнал ли си до някъде?

0
rostislav_kolev avatar rostislav_kolev 3 Точки

            var hours = int.Parse(Console.ReadLine());
            var minutes = int.Parse(Console.ReadLine());
            hours = minutes / 60;
            minutes = minutes % 60;


            if (minutes < 10)
            {
                Console.WriteLine(hours + ":0" + minutes + 15);
            }
            else
            {
                Console.WriteLine(hours + ":" + minutes + 15);
            }

0
Filkolev avatar Filkolev 4482 Точки

Казвайки hours = minutes / 60 презаписваш стойността на hours. При положение, че получаваш стойност за тази променлива от входа, не мисля, че това е, което искаш да направиш. Може би искаш да добавиш още часове? В такъв случай може да ползваш +=, вместо обикновено присвояване с =.

0
kiso_blg avatar kiso_blg 57 Точки

Така написано можеш да надхвърлиш 59 минути при печатането и да отпечаташ 67 минути, примерно, което е грешен резултат. По-добре първо прибави минутите, провери дали се променя часа след прибавените минути и тогава печатай.

0
djc_bg2015 avatar djc_bg2015 923 Точки

Не си спомням, кога се учеше класа TimeSpan, но с него можеш да решиш задачата буквално с 2 - 3 реда.

http://www.dotnetperls.com/timespan

0
djc_bg2015 avatar djc_bg2015 923 Точки
if (hours > 23) 
{
    hours %= 24;
}

 

Можеш спокойно да принтираш резултата по следния начин:
 

Console.WriteLine("{0}:{1:00}", hours, minutes);

 

0
21/02/2016 16:52:54
rostislav_kolev avatar rostislav_kolev 3 Точки

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

namespace Time_SUm
{
    class Program
    {
        static void Main(string[] args)
        {
            var hours = int.Parse(Console.ReadLine());
            var minutes = int.Parse(Console.ReadLine());
            minutes = minutes + 15;
            
            if (minutes < 10)
            {
                Console.WriteLine(hours + ":0" + minutes);
            }
            else if (minutes >=60)
            {
                hours = hours + minutes / 60;
                Console.WriteLine(hours + minutes / 60 + ":00");
            }
            else if (hours >23)
            {
                hours %= 24;
                Console.WriteLine("0" + (hours %24) + ":" + minutes);
                
            }

        }
    }
}

 

Съжалявам, че пиша не знам си кой по ред коментар, но така и не стигам до правилното решение . Ще се радвам, ако някой ми даде пълното решение на задачата. Отделих достатъчно време и явно пропускам нещо.... всеки път. Благодаря предварително

0
pebodi avatar pebodi 29 Точки

 

{
            var hour = int.Parse(Console.ReadLine());
            var minutes = int.Parse(Console.ReadLine());
            minutes = minutes + 15;
            if ( minutes >= 60 ) {
                hour = hour + 1 ;
                minutes = minutes - 60;
 
                if   (hour >= 24)
                    hour = hour - 24;
               
            }
            Console.WriteLine("{0}:{01:00}", hour, minutes );

0
kiso_blg avatar kiso_blg 57 Точки

var hours = int.Parse(Console.ReadLine());
var minutes = int.Parse(Console.ReadLine());
DateTime time = new DateTime();
time = time.AddHours(hours);
time = time.AddMinutes(minutes + 15);
Console.WriteLine(time.ToString("H:mm"));
//Console.WriteLine("{0:H:mm}", time);

2
H.Stoyanov avatar H.Stoyanov 115 Точки

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

var hours = int.Parse(Console.ReadLine());
var minutes = int.Parse(Console.ReadLine());
minutes += 15; //Тук може да бъде -> minutes = minutes + 15; (което е същия израз)
if (minutes >= 60)
{
    minutes -= 60; //Отново може да бъде -> minutes = minutes - 60;
    hours += 1; //Вече е банално да обяснявам пак
    Console.WriteLine(hours + ":" + minutes);
}
else
{
    Console.WriteLine(hours + ":" + minutes);
}

Успех в начинанието! wink Btw може да имам грешки, понеже го пиша директно тук, без да го тествам във Visual Studio.

0
23/02/2016 20:21:45
DJelev avatar DJelev 0 Точки

решението на H.Stoyanov е вярно но за да го приеме в джъджа направих малка промяна

using System;

    class Program
    {
        static void Main(string[] args)
        {
        var hours = int.Parse(Console.ReadLine());
var minutes = int.Parse(Console.ReadLine());
minutes += 15; //Тук може да бъде -> minutes = minutes + 15; (което е същия израз)
if (minutes >= 60)
{
    minutes -= 60; //Отново може да бъде -> minutes = minutes - 60;
    hours += 1; //Вече е банално да обяснявам пак
           
            if (minutes <10)
            {
                if (hours==24)
                {
                    Console.WriteLine("0:0" + minutes);
                }
                else
                {
                    Console.WriteLine(hours + ":0" + minutes);
                }
            }
            else
            {
                if (hours==24)
                {
                    Console.WriteLine("0:" + minutes);
                }
                else
                {
                    Console.WriteLine(hours + ":" + minutes);
                }
            }
}
else
{
            if (minutes < 10)
            {
                if (hours==24)
                {
                    Console.WriteLine("0:0" + minutes);
                }
                else
                {
                    Console.WriteLine(hours + ":0" + minutes);
                }
                
            }
            else
            {
                if (hours==24)
                {
                    Console.WriteLine("0:" + minutes);

                }
                else
                {
                    Console.WriteLine(hours + ":" + minutes);
                }
            }
        }

    }
}

0
btonew avatar btonew 43 Точки

Хвърли един поглед и на моето решение, използвам по-малко проверки wink


http://pastebin.com/mtjM92hs

0
viktorostrov11 avatar viktorostrov11 0 Точки

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

using System;

class MetricConverter
{
    static void Main()
    {
      
       int hour = int.Parse(Console.ReadLine());
       int minutes = int.Parse(Console.ReadLine());

        minutes += 15;
        if (minutes > 59)
            {
            minutes %= 60;
                hour += 1;


            }
        if (hour > 23)
        {
            hour %= 24;
        }

        Console.WriteLine($"{hour}:{minutes:D2}");


    }
}

0
rostislav_kolev avatar rostislav_kolev 3 Точки

 else if (sumhours >= 24)
            {
                sumhours = minutes / 60;
                sumhours = sumhours %24 + minutes;
                Console.WriteLine("0" + sumhours + ":" + minutes);
            }
        }

Оправих проблемът с минутите. Сега искам да огранича часовете до 24:00. Опитах различни начини, но не се получава. 

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