משופר אבל לא מושלם
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