123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385 |
- //индивидуальная задача номер 23
- char[] zv = { 'б', 'в', 'г', 'д', 'ж', 'з', 'л', 'м', 'н', 'р' };
- Console.Write("Напишите предложение: ");
- string str = Convert.ToString(Console.ReadLine());
- str = str.Trim();
- for (int i = 0; i < 10; i++)
- {
- if (str.IndexOf(zv[i]) >= 0)
- {
- Console.WriteLine(zv[i]);
- }
- }
- Console.ReadKey();
- //1 задача
- static void Main(string[] args)
- {
- Console.WriteLine("Введите дату в формате ДД.ММ.ГГГГ:");
- string dateString = Console.ReadLine();
-
- if (DateTime.TryParseExact(dateString, "dd.MM.yyyy", null, System.Globalization.DateTimeStyles.None, out DateTime date))
- {
- Console.WriteLine("Дата валидная");
- }
- else
- {
- Console.WriteLine("Дата не валидная");
- }
- }
- //2 задача
- class Program
- {
- static void Main()
- {
- Console.WriteLine("Введите первую дату в формате ДД.ММ.ГГГГ:");
- DateTime data1 = DateTime.Parse(Console.ReadLine());
- Console.WriteLine("Введите вторую дату в формате ДД.ММ.ГГГГ:");
- DateTime data2 = DateTime.Parse(Console.ReadLine());
- TimeSpan raz = data1 - data2;
- int normraz = Math.Abs((int)raz.TotalDays);
- Console.WriteLine("Количество дней между датами: " + normraz);
- }
- }
- //3 задача
- class Program
- {
- static void Main()
- {
-
-
- Console.WriteLine("Введите первую дату и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС:");
- DateTime data1 = DateTime.Parse(Console.ReadLine());
- Console.WriteLine("Введите вторую дату и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС:");
- DateTime data2 = DateTime.Parse(Console.ReadLine());
-
- TimeSpan raz = data2 - data1;
- double normraz = Math.Abs(raz.TotalHours);
- Console.WriteLine("Количество часов между датами: " + normraz);
- }
- }
- //4 задача
- class Program
- {
- static void Main()
- {
-
-
- Console.WriteLine("Введите первую дату и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС:");
- DateTime data1 = DateTime.Parse(Console.ReadLine());
- Console.WriteLine("Введите вторую дату и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС:");
- DateTime data2 = DateTime.Parse(Console.ReadLine());
-
- TimeSpan raz = data2 - data1;
- double normraz = Math.Abs(raz.TotalMinutes);
-
- Console.WriteLine("Количество часов между датами: " + normraz);
- }
- }
- //5 задача
- class Program
- {
- static void Main()
- {
- Console.WriteLine("Введите год");
- int year = int.Parse(Console.ReadLine());
- DateTime den = new DateTime(year, 1, 1).AddDays(255);
- Console.WriteLine($"День программиста в {year} году: {den.ToString("dd.MM.yyyy")} ({den.DayOfWeek})");
- }
- }
- //6 задача
- class Program
- {
- static void Main()
- {
- Console.WriteLine("Введите год");
- int year = int.Parse(Console.ReadLine());
- Console.WriteLine("Введите число от 1 до 365");
- int day = int.Parse(Console.ReadLine());
- if (day >= 1 || day<=365)
- {
- DateTime den = new DateTime(year, 1, 1).AddDays(day-1);
- Console.WriteLine(($"В {year} году день {day} является: {den.ToString("dd.MM.yyyy")} ({den.DayOfWeek})"));
- }
- else
- {
- Console.WriteLine("Введите число от 1 до 365");
- }
- }
- }
- //7 задача
- Console.Write("Введите дату: ");
- DateTime date = new DateTime(2024,4, 30);
- DateTime date1 = DateTime.Parse(Console.ReadLine());
- if (date > date1)
- {
- TimeSpan difference = date - date1;
- int s = difference.Days;
- Console.WriteLine("Осталось " + s + " дней до экзамена.");
- }
- else if (date < date1)
- {
- TimeSpan difference = date1 - date;
- int s = difference.Days;
- Console.WriteLine("Прошло " + s + " дней от экзамена.");
- }
- else
- {
- Console.WriteLine("Сегодня экзамен!");
- }
- //8 задача
- Console.Write("Введите дату: ");
- DateTime date1 = DateTime.Parse(Console.ReadLine());
- date1 = date1.AddDays(1);
- Console.WriteLine("Завтра будет дата: " + date1.ToString("dd.MM.yyyy"));
- //9 задача
- Console.Write("Введите день и месяц рождения: ");
- DateTime date1 = DateTime.ParseExact(Console.ReadLine(), "dd.MM", null);
- DateTime date2 = DateTime.ParseExact(Console.ReadLine(), "dd.MM", null);
- if (date1 > date2)
- {
- TimeSpan difference = date1 - date2;
- int s = difference.Days;
- Console.WriteLine("Осталось " + s + " до дня рождения.");
- }
- else if (date1 < date2)
- {
- TimeSpan difference = date2 - date1;
- int s = difference.Days;
- Console.WriteLine("Прошло " + s + " дней со дня рождения.");
- }
- else
- {
- Console.WriteLine("Сегодня день рождения!");
- }
- //10 задача
-
- Console.Write("Введите время: ");
- string time1 = Console.ReadLine();
- if (TimeSpan.TryParse(time1, out TimeSpan time))
- {
- int seconds = (time.Hours * 3600) + (time.Minutes * 60) + time.Seconds;
- Console.WriteLine("Количество секунд, которые прошли с начала суток: " + seconds);
- }
- else
- {
- Console.WriteLine("Неккоректный формат времени!");
- }
- //11 задача
- List<DateTime> Dates = new List<DateTime>
- {
- new DateTime(2007, 07,28),
- new DateTime(2005,1,25),
- new DateTime(2015,5,9),
- new DateTime(2022,7,25),
- new DateTime(2020,9,5),
- new DateTime(2021,9,6),
- new DateTime(2001,6,29),
- new DateTime(2024,2,1)
- };
- DateTime today = DateTime.Today;
- DateTime date1 = Dates[0];
- TimeSpan date2 = today - date1;
- foreach (DateTime date in Dates)
- {
- TimeSpan difference = today - date;
- if (Math.Abs(difference.Days) < Math.Abs(date2.Days))
- {
- date2 = difference;
- date1 = date;
- }
- }
- Console.WriteLine("Ближайшая дата: " + date1.ToShortDateString());
- //12 задача
- List<DateTime> Dates = new List<DateTime>
- {
- new DateTime(1935, 12, 15),
- new DateTime(2024, 1, 25),
- new DateTime(2020, 5, 7),
- new DateTime(2001, 10, 1)
- };
- DateTime date1 = GetNearestDate(Dates);
- Console.WriteLine($"Ближайшая дата рождения: {date1:dd.MM.yyyy}");
- static DateTime GetNearestDate(List<DateTime> dates)
- {
- DateTime today = DateTime.Today;
- dates.Sort((d1, d2) => Math.Abs((d1 - today).Days).CompareTo(Math.Abs((d2 - today).Days)));
- return dates[0];
- }
- //13 задача
- string[] Dates = { "18.11.1887", "10.05.2005", "29.11.2006", "16.11.2021", "12.11.2008" };
- Dictionary<string, int> month1 = new Dictionary<string, int>();
- foreach (var date in Dates)
- {
- DateTime date1 = DateTime.ParseExact(date, "dd.MM.yyyy", null);
- string month = date1.ToString("MMMM");
- if (month1.ContainsKey(month))
- {
- month1[month]++;
- }
- else
- {
- month1.Add(month, 1);
- }
- }
- var popul = month1.Aggregate((l, r) => l.Value > r.Value ? l : r).Key;
- Console.WriteLine("Самый популярный месяц: " + popul);
- //14 задача
- int years1 = 10;
- int count1 = 0;
- int count2 = 0;
-
- for (int year = 1; year <= years1; year++)
- {
- for (int month = 1; month <= 12; month++)
- {
- DateTime date1 = new DateTime(year, month, 13);
- if (date1.DayOfWeek == DayOfWeek.Friday)
- {
- count1++;
- }
- count2++;
- }
- }
- Console.WriteLine("Вероятности выпадения 13 числа каждого месяца на:");
- Console.WriteLine("Понедельник: " + (double)CountOfThirteenths(DayOfWeek.Monday) / count2);
- Console.WriteLine("Вторник: " + (double)CountOfThirteenths(DayOfWeek.Tuesday) / count2);
- Console.WriteLine("Среда: " + (double)CountOfThirteenths(DayOfWeek.Wednesday) / count2);
- Console.WriteLine("Четверг: " + (double)CountOfThirteenths(DayOfWeek.Thursday) / count2);
- Console.WriteLine("Пятницу: " + (double)count1 / count2);
- Console.WriteLine("Субботу: " + (double)CountOfThirteenths(DayOfWeek.Saturday) / count2);
- Console.WriteLine("Воскресенье: " + (double)CountOfThirteenths(DayOfWeek.Sunday) / count2);
- static int CountOfThirteenths(DayOfWeek day)
- {
- int count3 = 0;
- for (int year = 1; year <= 10; year++)
- {
- for (int month = 1; month <= 12; month++)
- {
- DateTime date1 = new DateTime(year, month, 13);
- if (date1.DayOfWeek == day)
- {
- count3++;
- }
- }
- }
- return count3;
- }
- //15 задача
- string wod = "00:00-01:00,00:30-02:30,01:30-03:00,02:00-04:00,02:30-05:00";
- string[] schel = wod.Split(',');
- int[] time1 = new int[24];
- foreach (string schedule in schel)
- {
- string[] times = schedule.Split('-');
- string[] startTime = times[0].Split(':');
- string[] endTime = times[1].Split(':');
- int hour1 = int.Parse(startTime[0]);
- int hour2 = int.Parse(endTime[0]);
- for (int i = hour1; i < hour2; i++)
- {
- time1[i]++;
- }
- }
- int maxTime = 0;
- for (int i = 0; i < 24; i++)
- {
- if (time1[i] > maxTime)
- {
- maxTime = time1[i];
- }
- }
- Console.WriteLine("Максимальное количество касс работает в интервале: ");
- for (int i = 0; i < 24; i++)
- {
- if (time1[i] == maxTime)
- {
- Console.WriteLine("{0:00}:00 - {1:00}:00", i, i + 1);
- }
- }
- //16 задача
- int years = 2006;
- int weeks = CalculateWeekends(years);
- Console.WriteLine($"Количество выходных дней в {years} году: {weeks}");
- static int CalculateWeekends(int year)
- {
- DateTime date1 = new DateTime(year, 1, 1);
- DateTime date2 = new DateTime(year, 12, 31);
- int c = 0;
- for (var date = date1; date <= date2; date = date.AddDays(1))
- {
- if (date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday)
- {
- c++;
- }
- }
- return c;
- }
|