aboutsummaryrefslogtreecommitdiff
path: root/challenge-211
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-211')
-rw-r--r--challenge-211/robert-dicicco/julia/ch-1.jl88
-rw-r--r--challenge-211/robert-dicicco/raku/ch-1.raku76
-rw-r--r--challenge-211/robert-dicicco/ruby/ch-1.rb84
3 files changed, 248 insertions, 0 deletions
diff --git a/challenge-211/robert-dicicco/julia/ch-1.jl b/challenge-211/robert-dicicco/julia/ch-1.jl
new file mode 100644
index 0000000000..23a21f2d70
--- /dev/null
+++ b/challenge-211/robert-dicicco/julia/ch-1.jl
@@ -0,0 +1,88 @@
+#!/usr/bin/env julia
+#=
+-------------------------------------------
+AUTHOR: Robert DiCicco
+DATE : 2023-04-08
+Challenge 211 Toeplitz Matrix ( Julia )
+-------------------------------------------
+=#
+
+using Printf
+
+matrx = [ [4, 3, 2, 1],[5, 4, 3, 2],[6, 5, 4, 3], ]
+
+#matrx = [ [1,2,3],[3,2,1] ]
+
+
+rows = length(matrx)
+cols = length(matrx[1])
+
+r = 1
+c = 1
+
+outarr = []
+flag = 0
+
+function CheckDiag(o)
+ global flag
+ arr_u = unique(o)
+ if length(arr_u) != 1
+ flag = -1
+ end
+end
+
+function Diag(c,r)
+ global rows, cols,outarr
+ outarr = []
+ while r <= rows
+ push!(outarr,matrx[r][c])
+ if r == rows
+ CheckDiag(outarr)
+ return
+ else
+ if c == cols
+ CheckDiag(outarr)
+ break
+ end
+ c += 1
+ r += 1
+ end
+ end
+end
+
+
+function main()
+ global c, r
+ @printf("Input: @matrix = %s\n", matrx)
+ c = 1
+ r = 1
+ while c <= cols
+ Diag(c,r)
+ c = c + 1
+ end
+
+ r = 2
+ c = 1
+ while r <= rows
+ Diag(c,r)
+ r = r + 1
+ end
+ flag == -1 ? println("Output: false") : println("Output: true")
+end
+
+main()
+
+#=
+-------------------------------------------
+SAMPLE OUTPUT
+julia .\Toeplitz.jl
+Input: @matrix = [[4, 3, 2, 1], [5, 4, 3, 2], [6, 5, 4, 3]]
+Output: true
+
+julia .\Toeplitz.jl
+Input: @matrix = [[1, 2, 3], [3, 2, 1]]
+Output: false
+-------------------------------------------
+=#
+
+
diff --git a/challenge-211/robert-dicicco/raku/ch-1.raku b/challenge-211/robert-dicicco/raku/ch-1.raku
new file mode 100644
index 0000000000..2c3a943797
--- /dev/null
+++ b/challenge-211/robert-dicicco/raku/ch-1.raku
@@ -0,0 +1,76 @@
+#!/usr/bin/env raku
+#`{
+-------------------------------------------
+AUTHOR: Robert DiCicco
+DATE : 2023-04-08
+Challenge 211 Toeplitz Matrix ( Raku )
+-------------------------------------------
+}
+
+my @matrix = [ [4, 3, 2, 1],[5, 4, 3, 2],[6, 5, 4, 3], ];
+
+#my @matrix = [ [1,2,3],[3,2,1], ];
+
+my $rows = @matrix.elems;
+my $cols = @matrix[0].elems;
+
+
+my $r = 0;
+my $c = 0;
+my @out = ();
+my $flag = 0;
+
+sub CheckDiag(@o) {
+ if @o.unique.elems != 1 {
+ $flag = -1;
+ }
+}
+
+sub Diag($c is copy,$r is copy) {
+ @out = ();
+ while $r < $rows {
+ @out.push: @matrix[$r][$c];
+ if $r == $rows - 1 {
+ CheckDiag(@out);
+ return;
+ } else {
+ if $c == $cols - 1 {
+ CheckDiag(@out);
+ last;
+ }
+ $c++;
+ $r++;
+ }
+ }
+}
+
+say "Input matrix = ",@matrix;
+
+$c = 0;
+$r = 0;
+while $c < $cols - 1 {
+ Diag($c,$r);
+ $c++;
+}
+
+$r = 1;
+$c = 0;
+while $r < $rows - 1 {
+ Diag($c,$r);
+ $r++;
+}
+
+$flag == -1 ?? say "Output: false" !! say "Output: true";
+
+#`{
+-------------------------------------------
+SAMPLE OUTPUT
+Input matrix = [[4 3 2 1] [5 4 3 2] [6 5 4 3]]
+Output: true
+
+Input matrix = [[1 2 3] [3 2 1]]
+Output: false
+-------------------------------------------
+}
+
+
diff --git a/challenge-211/robert-dicicco/ruby/ch-1.rb b/challenge-211/robert-dicicco/ruby/ch-1.rb
new file mode 100644
index 0000000000..65787744b5
--- /dev/null
+++ b/challenge-211/robert-dicicco/ruby/ch-1.rb
@@ -0,0 +1,84 @@
+#!/usr/bin/env ruby
+=begin
+-------------------------------------------
+AUTHOR: Robert DiCicco
+DATE : 2023-04-08
+Challenge 211 Toeplitz Matrix ( Ruby )
+-------------------------------------------
+=end
+
+$matrx = [ [4, 3, 2, 1],[5, 4, 3, 2],[6, 5, 4, 3], ]
+
+#$matrx = [ [1,2,3],[3,2,1] ]
+
+$rows = $matrx.length()
+$cols = $matrx[0].length()
+
+
+r = 0
+c = 0
+
+outarr = []
+$flag = 0
+
+def CheckDiag(o)
+ arr_u = o.uniq
+ if arr_u.length() != 1
+ $flag = -1
+ end
+end
+
+def Diag(c,r)
+ outarr = []
+ while r < $rows
+ outarr.push($matrx[r][c])
+ if r == $rows - 1
+ CheckDiag(outarr)
+ return
+ else
+ if c == $cols - 1
+ CheckDiag(outarr)
+ break
+ end
+ c += 1
+ r += 1
+ end
+ end
+end
+
+puts("Input: @matrix = #{$matrx}")
+
+c = 0
+r = 0
+
+while c < $cols - 1
+ Diag(c,r)
+ c = c + 1
+end
+
+r = 1
+c = 0
+while r < $rows - 1
+ Diag(c,r)
+ r = r + 1
+end
+
+
+$flag == -1 ? puts("Output: false") : puts("Output: true")
+
+=begin
+-------------------------------------------
+SAMPLE OUTPUT
+ruby .\Toeplitz.rb
+Input: @matrix = [[4, 3, 2, 1], [5, 4, 3, 2], [6, 5, 4, 3]]
+Output: true
+
+ruby .\Toeplitz.rb
+Input: @matrix = [[1, 2, 3], [3, 2, 1]]
+Output: false
+-------------------------------------------
+
+=end
+
+
+