diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-01-01 08:20:04 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-01-01 08:20:04 +0000 |
| commit | 233b172f74dd306cbc79129f40399c259ec1fa20 (patch) | |
| tree | 74fa8c526a568cdb49a4738eaa7421dfe1b0fc0d | |
| parent | a05a2a27aa6f75b2d53d8e5025832bcd30ca8cc3 (diff) | |
| download | perlweeklychallenge-club-233b172f74dd306cbc79129f40399c259ec1fa20.tar.gz perlweeklychallenge-club-233b172f74dd306cbc79129f40399c259ec1fa20.tar.bz2 perlweeklychallenge-club-233b172f74dd306cbc79129f40399c259ec1fa20.zip | |
- Added guest contributions by Laurent Rosenfeld.
| -rw-r--r-- | challenge-145/laurent-rosenfeld/awk/ch-1.awk | 15 | ||||
| -rw-r--r-- | challenge-145/laurent-rosenfeld/bash/ch-1.sh | 10 | ||||
| -rw-r--r-- | challenge-145/laurent-rosenfeld/c/ch-1.c | 12 | ||||
| -rw-r--r-- | challenge-145/laurent-rosenfeld/d/ch-1.amx | 12 | ||||
| -rw-r--r-- | challenge-145/laurent-rosenfeld/dart/ch-1.dart | 10 | ||||
| -rw-r--r-- | challenge-145/laurent-rosenfeld/go/ch-1.go | 12 | ||||
| -rw-r--r-- | challenge-145/laurent-rosenfeld/julia/ch-1.jl | 11 | ||||
| -rw-r--r-- | challenge-145/laurent-rosenfeld/kotlin/ch-1.kt | 10 | ||||
| -rw-r--r-- | challenge-145/laurent-rosenfeld/lua/ch-1.lua | 11 | ||||
| -rw-r--r-- | challenge-145/laurent-rosenfeld/nim/ch-1.nim | 10 | ||||
| -rw-r--r-- | challenge-145/laurent-rosenfeld/pascal/ch-1.p | 13 | ||||
| -rw-r--r-- | challenge-145/laurent-rosenfeld/python/ch-1.py | 8 | ||||
| -rw-r--r-- | challenge-145/laurent-rosenfeld/ruby/ch-1.rb | 8 | ||||
| -rw-r--r-- | challenge-145/laurent-rosenfeld/rust/ch-1.rs | 10 | ||||
| -rw-r--r-- | challenge-145/laurent-rosenfeld/scala/ch-1.scala | 9 |
15 files changed, 161 insertions, 0 deletions
diff --git a/challenge-145/laurent-rosenfeld/awk/ch-1.awk b/challenge-145/laurent-rosenfeld/awk/ch-1.awk new file mode 100644 index 0000000000..27fc004594 --- /dev/null +++ b/challenge-145/laurent-rosenfeld/awk/ch-1.awk @@ -0,0 +1,15 @@ +echo '1 2 3 +4 5 6 ' | awk -e '{ + for (i = 1; i <= NF; i ++) { + if (NR == 1) { + col[i] = $i + } + else { + result += col[i] * $i + } + } +} +END { + print result +} +' diff --git a/challenge-145/laurent-rosenfeld/bash/ch-1.sh b/challenge-145/laurent-rosenfeld/bash/ch-1.sh new file mode 100644 index 0000000000..06a75fd4d5 --- /dev/null +++ b/challenge-145/laurent-rosenfeld/bash/ch-1.sh @@ -0,0 +1,10 @@ +echo '1 2 3 +4 5 6 ' | bash -c ' + read -a a1 + read -a a2 + for ((i = 0; i < ${#a1[@]}; i ++)) + do ((result += a1[i] * a2[i])) + done + echo $result +' + diff --git a/challenge-145/laurent-rosenfeld/c/ch-1.c b/challenge-145/laurent-rosenfeld/c/ch-1.c new file mode 100644 index 0000000000..e48e7185b9 --- /dev/null +++ b/challenge-145/laurent-rosenfeld/c/ch-1.c @@ -0,0 +1,12 @@ +#include <stdio.h> + +int main() { + int a1[] = {1, 2, 3}; + int a2[] = {4, 5, 6}; + int res = 0; + int size = sizeof(a1)/sizeof(a1[0]); + for (int i = 0; i < size; i++) { + res += a1[i] * a2[i]; + } + printf("%d\n", res); +} diff --git a/challenge-145/laurent-rosenfeld/d/ch-1.amx b/challenge-145/laurent-rosenfeld/d/ch-1.amx new file mode 100644 index 0000000000..205afa9109 --- /dev/null +++ b/challenge-145/laurent-rosenfeld/d/ch-1.amx @@ -0,0 +1,12 @@ +import std.stdio; + +int a1[] = [1, 2, 3]; +int a2[] = [4, 5, 6]; +int main() { + int result = 0; + for (int i = 0; i < 3; i++) { + result += a1[i] * a2[i]; + } + writeln(result); + return 0; +} diff --git a/challenge-145/laurent-rosenfeld/dart/ch-1.dart b/challenge-145/laurent-rosenfeld/dart/ch-1.dart new file mode 100644 index 0000000000..cd35c50dfa --- /dev/null +++ b/challenge-145/laurent-rosenfeld/dart/ch-1.dart @@ -0,0 +1,10 @@ +var a1 = [1, 2, 3]; +var a2 = [4, 5, 6]; + +void main() { + int result = 0; + for (int i = 0; i < 3; i++ ) { + result += a1[i] * a2[i]; + } + print(result); +} diff --git a/challenge-145/laurent-rosenfeld/go/ch-1.go b/challenge-145/laurent-rosenfeld/go/ch-1.go new file mode 100644 index 0000000000..f217c4bd4b --- /dev/null +++ b/challenge-145/laurent-rosenfeld/go/ch-1.go @@ -0,0 +1,12 @@ +package main +import "fmt" + +func main() { + a1 := [3]int{1, 2, 3} + a2 := [3]int{4, 5, 6} + var result int = 0 + for i := 0; i < 3; i++ { + result += a1[i] * a2[i] + } + fmt.Printf("Dot product: %d\n", result) +} diff --git a/challenge-145/laurent-rosenfeld/julia/ch-1.jl b/challenge-145/laurent-rosenfeld/julia/ch-1.jl new file mode 100644 index 0000000000..dba1a8edad --- /dev/null +++ b/challenge-145/laurent-rosenfeld/julia/ch-1.jl @@ -0,0 +1,11 @@ +#!/usr/bin/julia + +function dot_product(a1, a2) + res = 0 + for i in eachindex(a1) + res = res + a1[i] * a2[i] + end + return res +end + +print( "Dot product: ", dot_product([1, 2, 3], [4, 5, 6])) diff --git a/challenge-145/laurent-rosenfeld/kotlin/ch-1.kt b/challenge-145/laurent-rosenfeld/kotlin/ch-1.kt new file mode 100644 index 0000000000..c65f44cf65 --- /dev/null +++ b/challenge-145/laurent-rosenfeld/kotlin/ch-1.kt @@ -0,0 +1,10 @@ +fun dot_product(a1: List<Int>, a2: List<Int>): Int { + var res = 0 + for (i in a1.indices) { + res += a1[i] * a2[i] + } + return res +} +fun main() { + println (dot_product(listOf<Int>(1, 2, 3), listOf<Int>(4, 5, 6))) +} diff --git a/challenge-145/laurent-rosenfeld/lua/ch-1.lua b/challenge-145/laurent-rosenfeld/lua/ch-1.lua new file mode 100644 index 0000000000..3eb6ab38ac --- /dev/null +++ b/challenge-145/laurent-rosenfeld/lua/ch-1.lua @@ -0,0 +1,11 @@ +#!/usr/bin/lua + +local function dot_product(a1, a2) + res = 0 + for i, v in next, a1 do + res = res + v * a2[i] + end + return res +end + +print(dot_product({1, 2, 3}, {4, 5, 6})) diff --git a/challenge-145/laurent-rosenfeld/nim/ch-1.nim b/challenge-145/laurent-rosenfeld/nim/ch-1.nim new file mode 100644 index 0000000000..83ad7f0e2f --- /dev/null +++ b/challenge-145/laurent-rosenfeld/nim/ch-1.nim @@ -0,0 +1,10 @@ +proc dot_product (a1, a2: array[0..2, int]) : int = + result = 0 + for i in 0..2: + result += a1[i] * a2[i] + return result + +let a1 = [1, 2, 3] +let a2 = [4, 5, 6] +let res = dot_product(a1, a2) +echo "dot product: ", res diff --git a/challenge-145/laurent-rosenfeld/pascal/ch-1.p b/challenge-145/laurent-rosenfeld/pascal/ch-1.p new file mode 100644 index 0000000000..7a975b71a2 --- /dev/null +++ b/challenge-145/laurent-rosenfeld/pascal/ch-1.p @@ -0,0 +1,13 @@ +program dot_product; +const + SIZE = 2; +var + a1: array[0..SIZE] of integer = (1, 2, 3); + a2: array[0..SIZE] of integer = (4, 5, 6); + result, i : integer; +begin + result := 0; + for i := 0 to SIZE do + result += a1[i] * a2[i]; + writeln(result); +end. diff --git a/challenge-145/laurent-rosenfeld/python/ch-1.py b/challenge-145/laurent-rosenfeld/python/ch-1.py new file mode 100644 index 0000000000..83de3797da --- /dev/null +++ b/challenge-145/laurent-rosenfeld/python/ch-1.py @@ -0,0 +1,8 @@ +def dot_product (a1, a2): + res = 0 + for i in range(0, len(a1)): + res += a1[i] * a2[i] + return res + +product = dot_product([1, 2, 3], [4, 5, 6]) +print(product) diff --git a/challenge-145/laurent-rosenfeld/ruby/ch-1.rb b/challenge-145/laurent-rosenfeld/ruby/ch-1.rb new file mode 100644 index 0000000000..c3ec644d2c --- /dev/null +++ b/challenge-145/laurent-rosenfeld/ruby/ch-1.rb @@ -0,0 +1,8 @@ +def dot_product(a1, a2) + res = 0 + a1.each_with_index do |v, i| + res += v * a2[i] + end + return res +end +print dot_product([1, 2, 3], [4, 5, 6]), "\n" diff --git a/challenge-145/laurent-rosenfeld/rust/ch-1.rs b/challenge-145/laurent-rosenfeld/rust/ch-1.rs new file mode 100644 index 0000000000..32e7a2fdc0 --- /dev/null +++ b/challenge-145/laurent-rosenfeld/rust/ch-1.rs @@ -0,0 +1,10 @@ +fn dot_product(a1: Vec<i32>, a2: Vec<i32>) -> i32 { + let mut res = 0; + a1.iter().enumerate().for_each(|(i, v)| { + res += v * a2[i]; + }); + return res +} +fn main() { + println!("{} ", dot_product(vec![1, 2, 3],vec![4, 5, 6])); +} diff --git a/challenge-145/laurent-rosenfeld/scala/ch-1.scala b/challenge-145/laurent-rosenfeld/scala/ch-1.scala new file mode 100644 index 0000000000..f5e93606df --- /dev/null +++ b/challenge-145/laurent-rosenfeld/scala/ch-1.scala @@ -0,0 +1,9 @@ +object dot_product extends App { + val a1 = Array(1, 2, 3) + val a2 = Array(4, 5, 6) + var res = 0 + for (i <- a1.indices) { + res = res + a1(i) * a2(i) + } + println("Dot product: " + res) +} |
