Multiplication tables: Difference between revisions

Content added Content deleted
(→‎{{header|AWK}}: delete ';', printf is a statment)
(Updated D entry)
Line 711: Line 711:


=={{header|D}}==
=={{header|D}}==
{{trans|PicoLisp}}
<lang d>import std.stdio, std.array;
<lang d>import std.stdio, std.array, std.range, std.algorithm;
alias R = std.array.replicate;


void main() {
void main() {
enum int max = 12;
enum n = 12;
writefln(" %(%4d%)\n%s", iota(1, n + 1), "-".R(4 * (n + 1)));
write(" | ");
foreach (row; 1 .. max+1)
foreach (immutable y; 1 .. n + 1)
writef("%4d", row);
writefln("%4d" ~ " ".R(4 * (y - 1)) ~ "%(%4d%)", y,
iota(y, n + 1).map!(x => x * y));
writeln();
writeln("--+-", "-".replicate(max * 4));
foreach (row; 1 .. max+1) {
writef("%2d", row);
write("| ");
foreach (column; 1 .. max+1) {
if (column < row)
write(" ");
else
writef("%4d", row * column);
}
writeln();
}
}</lang>
}</lang>
{{out}}
Output:
<pre> | 1 2 3 4 5 6 7 8 9 10 11 12
<pre> 1 2 3 4 5 6 7 8 9 10 11 12
--+-------------------------------------------------
----------------------------------------------------
1| 1 2 3 4 5 6 7 8 9 10 11 12
1 1 2 3 4 5 6 7 8 9 10 11 12
2| 4 6 8 10 12 14 16 18 20 22 24
2 4 6 8 10 12 14 16 18 20 22 24
3| 9 12 15 18 21 24 27 30 33 36
3 9 12 15 18 21 24 27 30 33 36
4| 16 20 24 28 32 36 40 44 48
4 16 20 24 28 32 36 40 44 48
5| 25 30 35 40 45 50 55 60
5 25 30 35 40 45 50 55 60
6| 36 42 48 54 60 66 72
6 36 42 48 54 60 66 72
7| 49 56 63 70 77 84
7 49 56 63 70 77 84
8| 64 72 80 88 96
8 64 72 80 88 96
9| 81 90 99 108
9 81 90 99 108
10| 100 110 120
10 100 110 120
11| 121 132
11 121 132
12| 144</pre>
12 144</pre>


=={{header|Delphi}}==
=={{header|Delphi}}==