Last Friday of each month: Difference between revisions
Content added Content deleted
Capra Hircus (talk | contribs) (adding maxima) |
(→{{header|C sharp}}: Added implementation in C#.) |
||
Line 123: | Line 123: | ||
return 0; |
return 0; |
||
}</lang> |
}</lang> |
||
=={{header|C sharp}}== |
|||
<lang csharp>using System; |
|||
using System.Collections.Generic; |
|||
using System.Globalization; |
|||
using System.Linq; |
|||
namespace RosettaCode.LastFridaysOfYear |
|||
{ |
|||
internal static class Program |
|||
{ |
|||
private static IEnumerable<DateTime> LastFridaysOfYear(int year) |
|||
{ |
|||
for (var month = 1; month <= 12; month++) |
|||
{ |
|||
var date = new DateTime(year, month, 1).AddMonths(1).AddDays(-1); |
|||
while (date.DayOfWeek != DayOfWeek.Friday) |
|||
{ |
|||
date = date.AddDays(-1); |
|||
} |
|||
yield return date; |
|||
} |
|||
} |
|||
private static void Main(string[] arguments) |
|||
{ |
|||
int year; |
|||
var argument = arguments.FirstOrDefault(); |
|||
if (string.IsNullOrEmpty(argument) || !int.TryParse(argument, out year)) |
|||
{ |
|||
year = DateTime.Today.Year; |
|||
} |
|||
foreach (var date in LastFridaysOfYear(year)) |
|||
{ |
|||
Console.WriteLine(date.ToString("d", CultureInfo.InvariantCulture)); |
|||
} |
|||
} |
|||
} |
|||
}</lang> |
|||
Output: |
|||
<pre>01/27/2012 |
|||
02/24/2012 |
|||
03/30/2012 |
|||
04/27/2012 |
|||
05/25/2012 |
|||
06/29/2012 |
|||
07/27/2012 |
|||
08/31/2012 |
|||
09/28/2012 |
|||
10/26/2012 |
|||
11/30/2012 |
|||
12/28/2012</pre> |
|||
=={{header|C++}}== |
=={{header|C++}}== |