Loading...
gstefanova22 avatar gstefanova22 4 Точки

Задача: 01.Навреме за изпит - On Time For The Exam (проблем)

Здравейте!

https://pastebin.com/R45dCAuS - това е решението ми на въпросната задача.

Judge ми дава 87 точки, а проверките към условието се изпълняват всичките. Сигурно имам някакъв много глупав пропуск или грешка.

Може ли малко помощ?

Тагове:
0
Programming Basics
boykopk avatar boykopk 147 Точки

Здравей,

на ред 25 трябва да е >=.

0
gstefanova22 avatar gstefanova22 4 Точки

Така беше :). Глупава грешка е, обаче Judge продължава да не ми дава 100 точки, ами 93.

0
denis.argatski avatar denis.argatski 25 Точки

https://pastebin.com/DkuFPnz2 - разгледай мойто решение и може да си откриеш грешката

1
desislava777 avatar desislava777 165 Точки

Ето още 2 примерни решения на C# и Java https://pastebin.com/6EVb63bv  https://pastebin.com/cTnG3K4A дано да са ти от полза.

0
traykova44 avatar traykova44 93 Точки

Възможно е да пропускаш  проверка  !=0

0
AtanasovAtanas avatar AtanasovAtanas 414 Точки

Минутите трябва да са с плаваща нула.

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

значи няколко неща колегата ти го е казал, няма я запетаяат и проверката за равенство.. ама и честно пишете на с# и праскате тоя var на всякъде пълна пародия.и вместо това мъчно решение, никои не се сетил да ти подскаже да използваш Timespan или datetime

0
VasilKotsev avatar VasilKotsev 830 Точки

Поствам едно решение с DateTime за тези, които искат да си напънат сивото вещество с тази полезна структура. 

100/100 Judge

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

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

            int hour_izpit = int.Parse(Console.ReadLine());
            int minutes_izpit = int.Parse(Console.ReadLine());
            int hrs_arrival = int.Parse(Console.ReadLine());
            int minute_arrival = int.Parse(Console.ReadLine());

            string izpithrs = hour_izpit.ToString() + ":" + minutes_izpit.ToString("00");
            string arrivalhrs = hrs_arrival.ToString() + ":" + minute_arrival.ToString("00");

            DateTime izpit_hours = DateTime.ParseExact((izpithrs), "H:mm", CultureInfo.InvariantCulture);
            DateTime arrivaltime = DateTime.ParseExact((arrivalhrs), "H:mm", CultureInfo.InvariantCulture);

            if (arrivaltime > izpit_hours)
            {
                Console.WriteLine("Late");

                if (arrivaltime > izpit_hours && arrivaltime <= izpit_hours.AddMinutes(59))
                {
                    Console.WriteLine(
                        (((DateTime)arrivaltime - (DateTime)izpit_hours).TotalMinutes).ToString() +
                        " minutes after the start");
                }

                else
                {
                    Console.WriteLine(
                        (((DateTime)izpit_hours - (DateTime)arrivaltime)).ToString("h\\:mm") +
                        " hours after the start");
                }
            }

            else if (arrivaltime == izpit_hours)
            {
                Console.WriteLine("On time");
            }

            else if (arrivaltime < izpit_hours)
            {
                if (arrivaltime < izpit_hours && arrivaltime >= izpit_hours.AddMinutes(-30))
                {
                    Console.WriteLine("On time");
                    Console.WriteLine(
                        (((DateTime)izpit_hours - (DateTime)arrivaltime).TotalMinutes).ToString() +
                        " minutes before the start");
                }

                else if (arrivaltime < izpit_hours && arrivaltime >= izpit_hours.AddMinutes(-59))
                {
                    Console.WriteLine("Early");
                    Console.WriteLine(
                        (((DateTime)izpit_hours - (DateTime)arrivaltime).TotalMinutes).ToString() +
                        " minutes before the start");
                }

                else
                {
                Console.WriteLine("Early");
                    Console.WriteLine(
                        (((DateTime)izpit_hours - (DateTime)arrivaltime)).ToString("h\\:mm") +
                        " hours before the start");
                }
            }


        }
    }
}

 

0
24/01/2018 23:29:33
dZf1aeA-Nikolay_A avatar dZf1aeA-Nikolay_A 4 Точки

Пробвай и променливите да са ти int. Иначе ето едно решение и от мен https://pastebin.com/tr17d3qv. ;)

0
Ankoun1 avatar Ankoun1 18 Точки

using System;

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

          int examOfHour = int.Parse(Console.ReadLine()); 
          int minuteOfExam = int.Parse(Console.ReadLine()); 
          int hourOfArrival = int.Parse(Console.ReadLine()); 
          int minuteofArrival = int.Parse(Console.ReadLine());
          int examTime =  examOfHour * 60 + minuteOfExam;
          int arrivalTime =   hourOfArrival * 60 +minuteofArrival;
            int diff = examTime - arrivalTime;
            int hour = Math.Abs(diff / 60);
            int minuts = Math.Abs(diff % 60);
            
            if (diff <0)
                {
                Console.WriteLine("Late");
                if (diff < -59)
                {
                    Console.WriteLine($"{hour}:{minuts:00} hours after the start");
                }
                else
                {
                    Console.WriteLine($"{Math.Abs(diff)} minutes after the start");

                }
                }else if (diff > 30)
                {
                    Console.WriteLine("Early");
                if(diff > 59)
                {
                    Console.WriteLine($"{hour}:{minuts:00} hours before the start");
                }
                else
                {
                    Console.WriteLine($"{diff} minutes before the start");
                }
            }
            else
            {
                Console.WriteLine("On time");
              if (diff > 0) {
                    Console.WriteLine($"{diff} minutes before the start");
                }
            }
                  
    }
    }
   
}

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