Matrix with two diagonals: Difference between revisions
→{{header|Perl}}: alternate version
SqrtNegInf (talk | contribs) (→{{header|Perl}}: alternate version) |
|||
Line 313:
=={{header|Perl}}==
===Strings===
<lang perl>#!/usr/bin/perl
Line 328 ⟶ 329:
}</lang>
{{out}}
<pre>1 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 1▼
0 1 0 0 0 0 0 0 1 0
0 0 1 0 0 0 0 1 0 0
Line 350:
0 0 1 0 0 0 0 0 1 0 0
0 1 0 0 0 0 0 0 0 1 0
1 0 0 0 0 0 0 0 0 0 1</pre>
===Numbers===
</pre>▼
<lang perl>use strict;
use warnings;
use feature 'say';
sub dual_diagonal {
my($n) = shift() - 1;
my @m;
for (0..$n) {
my @rr = reverse my @r = ( (0) x $_, 1, (0) x ($n-$_) );
push @m, [ map { $r[$_] or $rr[$_] } 0..$n ]
}
@m
}
say join ' ', @$_ for dual_diagonal(4); say '';
say join ' ', @$_ for dual_diagonal(5);
{{out}}
<pre>1 0 0 1
0 1 1 0
0 1 1 0
1 0 0 1
0 1 0 1 0
0 0 1 0 0
0 1 0 1 0
1 0 0 0 1</pre>
=={{header|Phix}}==
|