Loading...
slav.petkov avatar slav.petkov 26 Точки

[Programming-Basics]{Conditional Statements}Sum Seconds Problem

Здравейте, колеги,

въпреки че темата е за условни конструкции, бих желал да споделя своето решение на тази задача:

 

            var firstTime = int.Parse(Console.ReadLine());
            var secondTime = int.Parse(Console.ReadLine());
            var thirdTime = int.Parse(Console.ReadLine());

            var secondsSum = firstTime + secondTime + thirdTime;
            var minutes = secondsSum / 60;
            var seconds = secondsSum % 60;

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

Когато разделим secondsSum на 60, получаваме броя на минутите, а когато вземем остатъка от делението на secondsSum с 60,

получаваме и броя на съответните секунди.

 

Бележки:

  • Операторът "/" връща цялата част при делението на две целочислени числа, например 124 / 60 ще даде ризултат 2.
  • Операторът "%" връща остатъа при деление на две целочислени числа, например 124 % 60 ще даде резултат 4.

 

Тагове:
10
Programming Basics 29/01/2016 22:09:31
yasen6275 avatar yasen6275 18 Точки

Това не беше ли решението което даде Наков на лекцията?

0
viktor.dechev.1 avatar viktor.dechev.1 11 Точки

Е , да покажа и аз моето:

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

namespace SumSeconds
{
    class SumSeconds
    {
        static void Main(string[] args)
        {
            int sum=0;

            for (int i = 0; i < 3; i++)
            {
                sum = sum + int.Parse(Console.ReadLine());
            }

            var minutes = sum / 60;
            var seconds = sum % 60;
            
            Console.WriteLine(minutes+":"+PrintSeconds(seconds));
    
           
        }

        private  string PrintSeconds(int seconds)
        {
            if (seconds <= 9)
            {
                return ("0" + seconds.ToString());
            }
            else
                {
                   return seconds.ToString();
 
                }
        }
    }
}

0
01/02/2016 19:47:27
chimev88 avatar chimev88 11 Точки

Здравейте,

Да споделя и аз моето решение ;)

using System;

class SecondsSum
{
    static void Main()
    {
        int secondsA = int.Parse(Console.ReadLine());
        int secondsB = int.Parse(Console.ReadLine());
        int secondsC = int.Parse(Console.ReadLine());
        int minutes = (secondsA + secondsB + secondsC) / 60;
        int seconds = (secondsA + secondsB + secondsC) % 60;
        Console.WriteLine("{0}:{1:00}", minutes, seconds);    
    }
}

4
viktor.dechev.1 avatar viktor.dechev.1 11 Точки

Така преработено?
------------
using System;

    class SumSeconds
    {
        static void Main()
        {
            int time = 0;

            for (int i = 0; i < 3; i++)
            {
                time = time + int.Parse(Console.ReadLine());
            }

           // time / 60 is computing the minutes, time % 60 gives te seconds

            Console.WriteLine("{0}:{1:00}", time / 60, time % 60);
    
            }

     
        }
    

1
02/02/2016 15:35:55
partsutska avatar partsutska 2 Точки

Здравейте, колеги!

Тъй като в презентацията е започнато примерно решение на задачата,си поиграх малко и сътворих следното:


        static void Main()
        {
            var sec1 = int.Parse(Console.ReadLine());
            var sec2 = int.Parse(Console.ReadLine());
            var sec3 = int.Parse(Console.ReadLine());

            var secs = sec1 + sec2 + sec3;
            var mins = 0;

            if (secs < 59)
            { secs = sec1 + sec2 + sec3; }

            if (secs >=60 && secs <= 119)
            { mins++; secs = sec1 + sec2 + sec3 - 60; }

            if (secs >= 120 && secs <= 179)
            { mins++; mins++; secs = sec1 + sec2 + sec3 - 120; }

            if (secs < 10)
                    Console.WriteLine(mins + ":" + "0" + secs);
             else
                    Console.WriteLine(mins + ":" + secs);
        }
  

Работи и judge го приема за вярно решение, но като гледам, е доста по-дълго в сравнение от вече предложените. :)

-1
RujenaDimitrova avatar RujenaDimitrova 18 Точки

Извинявай, но не успях да докарам решението ти да ми го отпечата на VB, :(

0
Rumyanarusimova avatar Rumyanarusimova 20 Точки

Обърни внимание на това къде поставяш скобите-оттам може да възникне проблем

0
inf3ctionbg avatar inf3ctionbg 0 Точки

Благодаря, very useful ^^

0
cvetomirG avatar cvetomirG 132 Точки

Здравейте, аз съм я решил по мързеливия начин, timespan и просто сумираме

using System;

    class Program
    {
        static void Main()
        {
        var firstSportist = int.Parse(Console.ReadLine());
        var secondSportist = int.Parse(Console.ReadLine());
        var thirdSportist = int.Parse(Console.ReadLine());
        var time = firstSportist + secondSportist + thirdSportist;
        var timespan = TimeSpan.FromSeconds(time);
        Console.WriteLine(timespan.ToString(@"m\:ss"));
    }
}

 

0
14/01/2017 16:37:24
MilenaAdzhemova avatar MilenaAdzhemova 50 Точки

Много прегледно и опростено написано!

Супер е!

1
nasko_y avatar nasko_y 5 Точки

И така става:

using System;
class SumSeconds
{
    static void Main()
    {
        var x1 = int.Parse(Console.ReadLine());
        var x2 = int.Parse(Console.ReadLine());
        var x3 = int.Parse(Console.ReadLine());
        var s1 = x1 + x2 + x3;
        if (s1 < 10)
        {
            Console.WriteLine("0:0" + s1);
        }
        else if (s1 >= 10 && s1 < 60)
        {
            Console.WriteLine("0:" + s1);
        }
        else if (s1 >= 60 && s1 < 70)
        {
            Console.WriteLine("1:0" + (s1-60));
        }
        else if (s1 >= 70 && s1 < 120)
        {
            Console.WriteLine("1:" + (s1-60));
        }
        else if (s1 >= 120 && s1 < 130)
        {
            Console.WriteLine("2:0" + (s1 - 120));
        }
        else if (s1 >= 130 && s1 < 180)
        {
            Console.WriteLine("2:" + (s1 - 120));
        }            
    }
}

0
tsveti.zlateva avatar tsveti.zlateva 2 Точки

Ето още едно If-else-if-else решение:

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

namespace SumSeconds
{
    class Program
    {
        static void Main(string[] args)
        {
            double racer1 = double.Parse(Console.ReadLine());
            double racer2 = double.Parse(Console.ReadLine());
            double racer3 = double.Parse(Console.ReadLine());

            double sum = racer1 + racer2 + racer3;

            if (sum <= 59)
            {
                if (sum < 10)
                {
                    Console.WriteLine("0:0{0}", sum);
                }
                else if (sum >= 10)
                {
                    Console.WriteLine("0:{0}", sum);
                }

            }
            else if (sum > 59)
            { 
                if (sum <= 119)
                {
                    double seconds = sum - 60;

                    if (seconds < 10)
                    {
                        Console.WriteLine("1:0{0}", seconds);
                    }
                    else if (seconds >= 10)
                    {
                        Console.WriteLine("1:{0}", seconds);
                    }
                }
                else if (sum > 119)
                { 
                    if (sum <= 179)
                    {
                        double seconds = sum - 120;

                        if (seconds < 10)
                        {
                            Console.WriteLine("2:0{0}", seconds);
                        }
                        else if (seconds >= 10)
                        {
                            Console.WriteLine("2:{0}", seconds);
                        }
                    }
                }
            }
        }
    }
}
 

0
Aleksandar.K avatar Aleksandar.K 3 Точки

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

namespace sumSeconds
{
    class Program
    {
        static void Main(string[] args)
        {
            double first = double.Parse(Console.ReadLine());
            double second =double.Parse(Console.ReadLine());
            double third = double.Parse(Console.ReadLine());
            double times = first + second + third;
            if(times<=9)
            {
                Console.WriteLine($"0:0{times}");
            }

            else if (times<= 59)
            {
                Console.WriteLine($"0:{times}");
            }           
            else if (times==60)
            {
                Console.WriteLine("1:00");
            }
            else if(times<=69)
            {
                Console.WriteLine($"1:0{times-60}");
            }
            else if(times<=119)
            {
                Console.WriteLine($"1:{times-60}");
            }
            else if (times==120)
            {
                Console.WriteLine("2:0");
            }
            else if (times<=129)
            {
                Console.WriteLine($"2:0{times-60-60}");
            }
            else if (times<=179)
            {
                Console.WriteLine($"2:{times-60-60}");
            }
            else if (times==180)
            {
                Console.WriteLine("3:00");
            }
            

        }
    }
}

Но мисля ,че като за Programming-Basics  решението на  chimev88  е най-подходящо!

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