Matrix transposition: Difference between revisions
Content added Content deleted
(Added K Version) |
(Simplified D code) |
||
Line 621: | Line 621: | ||
=={{header|D}}== |
=={{header|D}}== |
||
<lang d>import std.stdio, std. |
<lang d>import std.stdio, std.algorithm, std.array, std.conv; |
||
auto transpose(T)(T[][] m) { |
pure nothrow auto transpose(T)(in T[][] m) { |
||
auto r = new T[][](m[0].length, m.length); |
auto r = new T[][](m[0].length, m.length); |
||
foreach (nr, row; m) |
foreach (nr, row; m) |
||
Line 629: | Line 629: | ||
r[nc][nr] = c; |
r[nc][nr] = c; |
||
return r; |
return r; |
||
} |
|||
auto prettyPrint(T)(T[][] m) { |
|||
⚫ | |||
} |
} |
||
void main() { |
void main() { |
||
auto M = [[10,11,12,13], |
auto M = [[10, 11, 12, 13], |
||
[14, 15, 16, 17], |
|||
writeln("M:\n", M.prettyPrint()); |
|||
[18, 19, 20, 21]]; |
|||
writeln("\nM transposed:\n", M.transpose().prettyPrint()); |
|||
auto Mt = transpose(M); |
|||
⚫ | |||
}</lang> |
}</lang> |
||
Output: |
Output: |
||
<pre> |
<pre>[[10, 14, 18] |
||
[ |
[11, 15, 19] |
||
[ |
[12, 16, 20] |
||
[ |
[13, 17, 21]]</pre> |
||
M transposed: |
|||
[[10,14,18] |
|||
[11,15,19] |
|||
[12,16,20] |
|||
[13,17,21]]</pre> |
|||
=={{header|ELLA}}== |
=={{header|ELLA}}== |