Известна температура воздуха в каждый из дней июля - C#
Формулировка задачи:
Прошу помочь решить задачу на C# . Пожалуйста))) Известна температура воздуха в каждый из дней июля. Определить, какие из семи следующих подряд дней являлись самыми теплыми
Решение задачи: «Известна температура воздуха в каждый из дней июля»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
namespace Practice
{
class Program
{
static void Main(string[] args)
{
DateTime jule = new DateTime(2015, 7, 1);
Random random = new Random();
Dictionary<DateTime, int> temperature = new Dictionary<DateTime, int>();
for (int i = 0; i < 31; i++)
{
var temp = random.Next(20, 38);
temperature.Add(jule, temp);
Console.WriteLine("Температура " + jule.ToShortDateString() + " равна " + temp);
jule = jule.AddDays(1);
}
Console.WriteLine();
var monthWithoutLastWeek = temperature.Reverse().Skip(7).Reverse();
var sevenDaysRanges = monthWithoutLastWeek.Select(pairs => monthWithoutLastWeek.SkipWhile(elem => elem.Key != pairs.Key).Take(7));
var maximumHotSevenDays = sevenDaysRanges.First(collection => collection.Sum(e => e.Value) == sevenDaysRanges.Max(coll => coll.Sum(e => e.Value)));
Console.WriteLine("Самые жаркие семь дней");
foreach (var days in maximumHotSevenDays)
{
Console.WriteLine(days.Key.ToShortDateString() + " c температурой " + days.Value);
}
Console.ReadKey();
}
}
}