C# :: Aufgabe #179 :: Lösung #7
7 Lösungen

#179
Ist Freitag der 13. ein Unglücks- oder Glückstag?
Anfänger - C#
von hollst
- 26.06.2017 um 13:14 Uhr
Wir betrachten den Gregorianischen Kalender mit den üblichen 12 Monaten und Schaltjahren.
Schaltjahr ist, wenn die Jahreszahl durch 4 teilbar ist, mit Ausnahme der Jahre, die durch 100,
jedoch nicht durch 400 teilbar sind. Im Schaltjahr hat der Februar 29 Tage.
Unsere Zeitrechnung beginne mit dem 1. Januar 00.
Frage: Welcher Wochentag fällt
a) am häufigsten auf einen 13. des Monats und
b) welcher bzw. welche am wenigsten.
Schaltjahr ist, wenn die Jahreszahl durch 4 teilbar ist, mit Ausnahme der Jahre, die durch 100,
jedoch nicht durch 400 teilbar sind. Im Schaltjahr hat der Februar 29 Tage.
Unsere Zeitrechnung beginne mit dem 1. Januar 00.
Frage: Welcher Wochentag fällt
a) am häufigsten auf einen 13. des Monats und
b) welcher bzw. welche am wenigsten.
#7

von JKooP (18090 Punkte)
- 01.12.2020 um 15:06 Uhr
NET 5.x; C# 9.x
Neuerung in C# 9.x: Top-Level-Anweisung
https://docs.microsoft.com/de-de/dotnet/csharp/whats-new/csharp-9
C#-Code
Neuerung in C# 9.x: Top-Level-Anweisung
https://docs.microsoft.com/de-de/dotnet/csharp/whats-new/csharp-9

using System; using System.Linq; var sDate = new DateTime(1, 1, 13); var eDate = new DateTime(2020, 12, 13); var arrWeekdays = new int[7]; while(sDate <= eDate) { arrWeekdays[(int)sDate.DayOfWeek]++; sDate = sDate.AddMonths(1); } var lst = Enumerable.Range(0, arrWeekdays.Length).Select(x => (wd: Enum.GetName(typeof(DayOfWeek), x), count: arrWeekdays[x])).ToList(); lst.ForEach(x => Console.WriteLine($"{x.wd}: {x.count}")); Console.WriteLine($"\nMax: {lst.OrderBy(x => -x.count).FirstOrDefault()}"); Console.WriteLine($"\nMin: {lst.OrderBy(x => x.count).FirstOrDefault()}");
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1