Coding Challenges - Dlang or Generic

bachmeier no at spam.net
Tue Jan 10 13:48:46 UTC 2023


On Tuesday, 10 January 2023 at 01:22:33 UTC, H. S. Teoh wrote:

> Here's a challenge.  Given an input year, for example, "2023", 
> write a program that outputs (for the corresponding year):
>
> --------------------------------snip---------------------------------
>                               2023
>        January              February                March
>  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr 
> Sa
>   1  2  3  4  5  6  7            1  2  3  4            1  2  3  
> 4
>   8  9 10 11 12 13 14   5  6  7  8  9 10 11   5  6  7  8  9 10 
> 11
>  15 16 17 18 19 20 21  12 13 14 15 16 17 18  12 13 14 15 16 17 
> 18
>  22 23 24 25 26 27 28  19 20 21 22 23 24 25  19 20 21 22 23 24 
> 25
>  29 30 31              26 27 28              26 27 28 29 30 31
>
>         April                  May                  June
>  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr 
> Sa
>                     1      1  2  3  4  5  6               1  2  
> 3
>   2  3  4  5  6  7  8   7  8  9 10 11 12 13   4  5  6  7  8  9 
> 10
>   9 10 11 12 13 14 15  14 15 16 17 18 19 20  11 12 13 14 15 16 
> 17
>  16 17 18 19 20 21 22  21 22 23 24 25 26 27  18 19 20 21 22 23 
> 24
>  23 24 25 26 27 28 29  28 29 30 31           25 26 27 28 29 30
>  30
>
>         July                 August               September
>  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr 
> Sa
>                     1         1  2  3  4  5                  1  
> 2
>   2  3  4  5  6  7  8   6  7  8  9 10 11 12   3  4  5  6  7  8  
> 9
>   9 10 11 12 13 14 15  13 14 15 16 17 18 19  10 11 12 13 14 15 
> 16
>  16 17 18 19 20 21 22  20 21 22 23 24 25 26  17 18 19 20 21 22 
> 23
>  23 24 25 26 27 28 29  27 28 29 30 31        24 25 26 27 28 29 
> 30
>  30 31
>
>        October              November              December
>  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr 
> Sa
>   1  2  3  4  5  6  7            1  2  3  4                  1  
> 2
>   8  9 10 11 12 13 14   5  6  7  8  9 10 11   3  4  5  6  7  8  
> 9
>  15 16 17 18 19 20 21  12 13 14 15 16 17 18  10 11 12 13 14 15 
> 16
>  22 23 24 25 26 27 28  19 20 21 22 23 24 25  17 18 19 20 21 22 
> 23
>  29 30 31              26 27 28 29 30        24 25 26 27 28 29 
> 30
>                                              31
> --------------------------------snip---------------------------------
>
> Code will be graded on readability, unittest coverage, and 
> reusability (how many functions have wide applicability outside 
> of this challenge).
>
> ;-)
>
>
> T

```
import std.process, std.stdio;

void main() {
	writeln(executeShell("cal -y 2023").output);
}
```


More information about the Digitalmars-d-learn mailing list