diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-06-09 05:30:01 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-06-09 05:30:01 +0100 |
| commit | d4b277b14cf4fa525814ff76e0665f2151022fe0 (patch) | |
| tree | 4fb51a0769468f02ba271fc646d2a93f1b855310 /challenge-011 | |
| parent | 82d3bc4156c6bc9a94bb5d6bca89b7b747371cc6 (diff) | |
| download | perlweeklychallenge-club-d4b277b14cf4fa525814ff76e0665f2151022fe0.tar.gz perlweeklychallenge-club-d4b277b14cf4fa525814ff76e0665f2151022fe0.tar.bz2 perlweeklychallenge-club-d4b277b14cf4fa525814ff76e0665f2151022fe0.zip | |
- Added solutions by Arne Sommer.
Diffstat (limited to 'challenge-011')
| -rw-r--r-- | challenge-011/arne-sommer/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-011/arne-sommer/perl6/ch-1.p6 | 19 | ||||
| -rwxr-xr-x | challenge-011/arne-sommer/perl6/ch-1a.p6 | 3 | ||||
| -rwxr-xr-x | challenge-011/arne-sommer/perl6/ch-2.p6 | 9 | ||||
| -rwxr-xr-x | challenge-011/arne-sommer/perl6/ch-2a.p6 | 26 | ||||
| -rwxr-xr-x | challenge-011/arne-sommer/perl6/ch-2b.p6 | 17 | ||||
| -rwxr-xr-x | challenge-011/arne-sommer/perl6/ch-2c.p6 | 10 | ||||
| -rwxr-xr-x | challenge-011/arne-sommer/perl6/ch-2d.p6 | 10 |
8 files changed, 95 insertions, 0 deletions
diff --git a/challenge-011/arne-sommer/blog.txt b/challenge-011/arne-sommer/blog.txt new file mode 100644 index 0000000000..ff33263a07 --- /dev/null +++ b/challenge-011/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://perl6.eu/fc-matrix.html diff --git a/challenge-011/arne-sommer/perl6/ch-1.p6 b/challenge-011/arne-sommer/perl6/ch-1.p6 new file mode 100755 index 0000000000..8160d12bfe --- /dev/null +++ b/challenge-011/arne-sommer/perl6/ch-1.p6 @@ -0,0 +1,19 @@ +#! /usr/bin/env perl6 + +my $c = 0; + +loop +{ + my $f = celcius2fahrenheit($c); + if $f <= $c + { + say "Fahrenheit ($f) and Celsius ($c) are equal(ish)."; + last; + } + $c--; +} + +sub celcius2fahrenheit ($c) +{ + return $c * 1.8 + 32; +} diff --git a/challenge-011/arne-sommer/perl6/ch-1a.p6 b/challenge-011/arne-sommer/perl6/ch-1a.p6 new file mode 100755 index 0000000000..9799e85810 --- /dev/null +++ b/challenge-011/arne-sommer/perl6/ch-1a.p6 @@ -0,0 +1,3 @@ +#! /usr/bin/env perl6 + +say "Fahrenheit and Celsius are equal at -40."; diff --git a/challenge-011/arne-sommer/perl6/ch-2.p6 b/challenge-011/arne-sommer/perl6/ch-2.p6 new file mode 100755 index 0000000000..89ff615443 --- /dev/null +++ b/challenge-011/arne-sommer/perl6/ch-2.p6 @@ -0,0 +1,9 @@ +#! /usr/bin/env perl6 + +use Math::Matrix; + +unit sub MAIN (Int $size where $size > 0); + +my $im = Math::Matrix.new-identity( $size ); + +say $im; diff --git a/challenge-011/arne-sommer/perl6/ch-2a.p6 b/challenge-011/arne-sommer/perl6/ch-2a.p6 new file mode 100755 index 0000000000..0dd48982f3 --- /dev/null +++ b/challenge-011/arne-sommer/perl6/ch-2a.p6 @@ -0,0 +1,26 @@ +#! /usr/bin/env perl6 + +unit sub MAIN (Int $size where $size > 0); + +my @im[$size;$size] = 0 xx $size xx $size; + +@im[$_;$_] = 1 for ^$size; + +print @im.&nice-format; + +sub nice-format (@shaped) +{ + my ($row, $col) = @shaped.shape; + + my $result; + + for ^$row -> $x + { + for ^$col -> $y + { + $result ~= @shaped[$x;$y] ~ " "; + } + $result ~= "\n"; + } + return $result; +}
\ No newline at end of file diff --git a/challenge-011/arne-sommer/perl6/ch-2b.p6 b/challenge-011/arne-sommer/perl6/ch-2b.p6 new file mode 100755 index 0000000000..6c95394f34 --- /dev/null +++ b/challenge-011/arne-sommer/perl6/ch-2b.p6 @@ -0,0 +1,17 @@ +#! /usr/bin/env perl6 + +unit sub MAIN (Int $size where $size > 0); + +# my @im = 0 xx $size xx $size; +# @im[$_;$_] = 1 for ^$size; + +my @row = (1, 0 xx $size -1).flat; +my @x; @x.push: @row.rotate(- $_) for ^$size; +my @im = @x; + +print @im.&nice-format; + +sub nice-format (@array) +{ + return (@($_).join(" ") for @array).join("\n") ~ "\n"; +}
\ No newline at end of file diff --git a/challenge-011/arne-sommer/perl6/ch-2c.p6 b/challenge-011/arne-sommer/perl6/ch-2c.p6 new file mode 100755 index 0000000000..2979c44550 --- /dev/null +++ b/challenge-011/arne-sommer/perl6/ch-2c.p6 @@ -0,0 +1,10 @@ +#! /usr/bin/env perl6 + +unit sub MAIN (Int $size where $size > 0); + +my @im[$size;$size] = 0 xx $size xx $size; + +@im[$_;$_] = 1 for ^$size; + +say @im; + diff --git a/challenge-011/arne-sommer/perl6/ch-2d.p6 b/challenge-011/arne-sommer/perl6/ch-2d.p6 new file mode 100755 index 0000000000..2458666409 --- /dev/null +++ b/challenge-011/arne-sommer/perl6/ch-2d.p6 @@ -0,0 +1,10 @@ +#! /usr/bin/env perl6 + +unit sub MAIN (Int $size where $size > 0); + +my @row = (1, 0 xx $size -1).flat; +my @x; @x.push: @row.rotate(- $_) for ^$size; +my @im[$size;$size] = @x; + +say @im; + |
