diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-09-18 17:38:45 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-09-18 17:38:45 +0100 |
| commit | 5474d4419dd2cff9ef7a5c72495c95b1c2da5f26 (patch) | |
| tree | 3e6be615e035c084834549d2e80c840e827c8877 /challenge-182 | |
| parent | 2ed83380a42ad68882c9d21b7dd520f51fd0e888 (diff) | |
| download | perlweeklychallenge-club-5474d4419dd2cff9ef7a5c72495c95b1c2da5f26.tar.gz perlweeklychallenge-club-5474d4419dd2cff9ef7a5c72495c95b1c2da5f26.tar.bz2 perlweeklychallenge-club-5474d4419dd2cff9ef7a5c72495c95b1c2da5f26.zip | |
- Added guest contributions by Laurent Rosenfeld.
Diffstat (limited to 'challenge-182')
| -rw-r--r-- | challenge-182/laurent-rosenfeld/awk/ch-1.awk | 18 | ||||
| -rw-r--r-- | challenge-182/laurent-rosenfeld/javascript/ch-1.js | 13 | ||||
| -rw-r--r-- | challenge-182/laurent-rosenfeld/julia/ch-1.jl | 11 | ||||
| -rw-r--r-- | challenge-182/laurent-rosenfeld/python/ch-1.py | 8 | ||||
| -rw-r--r-- | challenge-182/laurent-rosenfeld/ring/ch-1.ring | 14 | ||||
| -rw-r--r-- | challenge-182/laurent-rosenfeld/ruby/ch-1.rb | 11 | ||||
| -rw-r--r-- | challenge-182/laurent-rosenfeld/scala/ch-1.scala | 16 |
7 files changed, 91 insertions, 0 deletions
diff --git a/challenge-182/laurent-rosenfeld/awk/ch-1.awk b/challenge-182/laurent-rosenfeld/awk/ch-1.awk new file mode 100644 index 0000000000..5e6c1ad5e6 --- /dev/null +++ b/challenge-182/laurent-rosenfeld/awk/ch-1.awk @@ -0,0 +1,18 @@ +# run for example as: +# echo '5 2 9 1 7 6 +# 4 2 3 1 5 0' | awk -f ./max-index.awk + +function find_max() { + max_i = 0 + max_n = $1 + for (i = 2; i < NF; i++) { + if ($i > max_n) { + max_i = i + max_n = $i + } + } + printf("Max index for %s: %d => %d\n", $0, max_i - 1, max_n) +} +{ + find_max() +} diff --git a/challenge-182/laurent-rosenfeld/javascript/ch-1.js b/challenge-182/laurent-rosenfeld/javascript/ch-1.js new file mode 100644 index 0000000000..4131fca5bb --- /dev/null +++ b/challenge-182/laurent-rosenfeld/javascript/ch-1.js @@ -0,0 +1,13 @@ +let tests = [ [5, 2, 9, 1, 7, 6], [4, 2, 3, 1, 5, 0] ] +for (let j = 0; j < tests.length; j++) { + let test = tests[j] + let max_i = 0 + let max_n = test[0] + for (let i = 1; i <= test.length; i++) { + if (test[i] > max_n) { + max_n = test[i] + max_i = i + } + } + console.log("Max index for " + test + ": " + max_i + " => " + max_n) +} diff --git a/challenge-182/laurent-rosenfeld/julia/ch-1.jl b/challenge-182/laurent-rosenfeld/julia/ch-1.jl new file mode 100644 index 0000000000..c8cd868c79 --- /dev/null +++ b/challenge-182/laurent-rosenfeld/julia/ch-1.jl @@ -0,0 +1,11 @@ +for test in [[5, 2, 9, 1, 7, 6], [4, 2, 3, 1, 5, 0]] + max_i = 1 + max_n = test[1] + for i in 2:length(test) + if (test[i] > max_n) + max_n = test[i] + max_i = i + end + end + println("Max index for $test: $(max_i - 1) => $max_n)") +end diff --git a/challenge-182/laurent-rosenfeld/python/ch-1.py b/challenge-182/laurent-rosenfeld/python/ch-1.py new file mode 100644 index 0000000000..34bc6b2139 --- /dev/null +++ b/challenge-182/laurent-rosenfeld/python/ch-1.py @@ -0,0 +1,8 @@ +for test in [5, 2, 9, 1, 7, 6], [4, 2, 3, 1, 5, 0]: + max_i = 0 + max_n = test[0] + for i in range(1, len(test)): + if test[i] > max_n: + max_n = test[i] + max_i = i + print("Max index for ", test, ": ", max_i, " => ", max_n) diff --git a/challenge-182/laurent-rosenfeld/ring/ch-1.ring b/challenge-182/laurent-rosenfeld/ring/ch-1.ring new file mode 100644 index 0000000000..ac3c5f5bae --- /dev/null +++ b/challenge-182/laurent-rosenfeld/ring/ch-1.ring @@ -0,0 +1,14 @@ +for test in [[5, 2, 9, 1, 7, 6], [4, 2, 3, 1, 5, 0]] + max_i = 1 + max_n = test[1] + str = "" + for i = 1 to len(test) + str = str + test[i] + " " + if test[i] > max_n + max_n = test[i] + max_i = i + ok + next + see "Max index for " + str + ": " + + (max_i - 1) + " => " + max_n + nl +next diff --git a/challenge-182/laurent-rosenfeld/ruby/ch-1.rb b/challenge-182/laurent-rosenfeld/ruby/ch-1.rb new file mode 100644 index 0000000000..97901c05ed --- /dev/null +++ b/challenge-182/laurent-rosenfeld/ruby/ch-1.rb @@ -0,0 +1,11 @@ +for test in [[5, 2, 9, 1, 7, 6], [4, 2, 3, 1, 5, 0]] + max_i = 0 + max_n = test[0] + for i in 1..(test.length - 1) + if test[i] > max_n + max_n = test[i] + max_i = i + end + end + printf("Max index for %s: %d => %d\n", test.to_s, max_i, max_n) +end diff --git a/challenge-182/laurent-rosenfeld/scala/ch-1.scala b/challenge-182/laurent-rosenfeld/scala/ch-1.scala new file mode 100644 index 0000000000..d1febfaa70 --- /dev/null +++ b/challenge-182/laurent-rosenfeld/scala/ch-1.scala @@ -0,0 +1,16 @@ +object fraction_tree extends App { + + val tests: List[List[Int]] = + List(List(5, 2, 9, 1, 7, 6), List(4, 2, 3, 1, 5, 0)) + for (test <- tests) { + var max_i = 0 + var max_n = test(max_i) + for (i <- 1 to test.length - 1) { + if (test(i) > max_n) { + max_n = test(i) + max_i = i + } + } + println("Max index for " + test.mkString(" ") + s": $max_i => $max_n") + } +} |
