משופר אבל לא מושלם

 avatar
unknown
csharp
a year ago
2.7 kB
9
Indexable
using System;
using System.Diagnostics.CodeAnalysis;

//using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Unit4.CollectionsLib;

namespace p2
{
    internal class Program
    {
        static void Main(string[] args)
        {
        }
    }

    class time
    {
        private int hour {  get; set; }
        private int minute {  get; set; }
        private int second { get; set; }

        public time (int hour, int minute, int second)
        {
            this.hour = hour;
            this.minute = minute;
            this.second = second;
        }


        public time lastMinusFirst(Queue<time> q)
        {
            time first = q.Head();
            for (int i = 0; i < size(q) - 1; i++)
            {
                q.Remove();
            }
            time last = q.Head();
            time result = new time(last.hour - first.hour, last.minute - first.minute, last.second - first.second);
            while (result.second > 60)
            {
                result.second = result.second - 60;
                result.minute = result.minute + 1;
            }
            while (result.minute > 60)
            {
               result.minute = result.minute - 60;
               result.hour = result.hour + 1;
            }
            return result;

        }

        public int XminusYsecondes(time time1, time time2)
        {
            int seconds = (time2.second - time1.second) + (time2.minute - time1.minute * 60) + (time2.hour - time1.hour * 3600);
            return seconds;
        }


        public void printLowest(Queue<time> q)
        {
           int sum = 1;
           time first = q.Remove();
           time seconde = q.Remove();
           int min = XminusYsecondes(first, seconde);
           while (!q.IsEmpty())
           {
                sum++;
                time start = q.Remove();
                if (XminusYsecondes(start, q.Remove()) < min)
                {
                    min = XminusYsecondes(q.Remove(), start);
                }
           }
           Console.WriteLine(sum.ToString() + "," + sum.ToString() + 1);

        }


        public static int size(Queue<time> q1)
        {
            Queue<time> helper = new Queue<time>();
            int size = 0;
            while (!q1.IsEmpty())
            {
                helper.Insert(q1.Remove());
                size++;
            }
            while (!helper.IsEmpty())
            {
                q1.Insert(helper.Remove());
            }
            return size;

        }
    }
}
Editor is loading...
Leave a Comment