Minimum numbers of three lists: Difference between revisions
(Add Factor) |
(Add Red) |
||
Line 86: | Line 86: | ||
<pre> |
<pre> |
||
[5 22 12 21 38] |
[5 22 12 21 38] |
||
</pre> |
|||
=={{header|Red}}== |
|||
<lang rebol>Red [ |
|||
Red-version: 0.6.4 |
|||
Description: "Find the element-wise minimum of three lists" |
|||
] |
|||
numbers1: [5 45 23 21 67] |
|||
numbers2: [43 22 78 46 38] |
|||
numbers3: [9 98 12 98 53] |
|||
length: length? numbers1 |
|||
result: append/dup [] 0 length |
|||
repeat i length [ |
|||
result/:i: min min numbers1/:i numbers2/:i numbers3/:i |
|||
] |
|||
print result</lang> |
|||
{{out}} |
|||
<pre> |
|||
5 22 12 21 38 |
|||
</pre> |
</pre> |
||
Revision as of 15:58, 26 October 2021
- Task
Given three lists:
- Numbers1 = [5,45,23,21,67]
- Numbers2 = [43,22,78,46,38]
- Numbers3 = [9,98,12,98,53]
then:
- Select the minimum of Numbers[n], Numbers2[n] and Numbers3[n], where n <= 5 (one based).
- Add minimum to a new list (Numbers).
- Show Numbers on this page.
C
<lang c>#include <stdio.h>
int min(int a, int b) {
if (a < b) return a; return b;
}
int main() {
int n; int numbers1[5] = {5, 45, 23, 21, 67}; int numbers2[5] = {43, 22, 78, 46, 38}; int numbers3[5] = {9, 98, 12, 98, 53}; int numbers[5] = {}; for (n = 0; n < 5; ++n) { numbers[n] = min(min(numbers1[n], numbers2[n]), numbers3[n]); printf("%d ", numbers[n]); } printf("\n"); return 0;
}</lang>
- Output:
5 22 12 21 38
F#
<lang fsharp> // Minimum numbers of three lists. Nigel Galloway: October 26th., 2021 let N1,N2,N3=[5;45;23;21;67],[43;22;78;46;38],[9;98;12;98;53] printfn "%A" (List.zip3 N1 N2 N3|>List.map(fun(n,g,l)->min (min n g) l)) </lang>
- Output:
[5; 22; 12; 21; 38]
Factor
<lang factor>USING: arrays sequences prettyprint ;
{ 5 45 23 21 67 } { 43 22 78 46 38 } { 9 98 12 98 53 } 3array flip [ infimum ] map .</lang>
- Output:
{ 5 22 12 21 38 }
Go
<lang go>package main
import (
"fmt" "rcu"
)
func main() {
numbers1 := [5]int{5, 45, 23, 21, 67} numbers2 := [5]int{43, 22, 78, 46, 38} numbers3 := [5]int{9, 98, 12, 98, 53} numbers := [5]int{} for n := 0; n < 5; n++ { numbers[n] = rcu.Min(rcu.Min(numbers1[n], numbers2[n]), numbers3[n]) } fmt.Println(numbers)
}</lang>
- Output:
[5 22 12 21 38]
Red
<lang rebol>Red [
Red-version: 0.6.4 Description: "Find the element-wise minimum of three lists"
]
numbers1: [5 45 23 21 67] numbers2: [43 22 78 46 38] numbers3: [9 98 12 98 53] length: length? numbers1 result: append/dup [] 0 length repeat i length [
result/:i: min min numbers1/:i numbers2/:i numbers3/:i
] print result</lang>
- Output:
5 22 12 21 38
Ring
<lang ring> see "working..." + nl
Numbers = [] Numbers1 = [5,45,23,21,67] Numbers2 = [43,22,78,46,38] Numbers3 = [9,98,12,98,53]
for n = 1 to len(Numbers1)
Temp = [] add(Temp,Numbers1[n]) add(Temp,Numbers2[n]) add(Temp,Numbers3[n]) min = min(Temp) add(Numbers,min)
next
see "The minimum numbers of three lists = " see showArray(Numbers) see nl + "done..." + nl
func showArray(array)
txt = "" see "[" for n = 1 to len(array) txt = txt + array[n] + "," next txt = left(txt,len(txt)-1) txt = txt + "]" see txt
</lang>
- Output:
working... The minimum numbers of three lists = [5,22,12,21,38] done...
Wren
<lang ecmascript>var numbers1 = [ 5, 45, 23, 21, 67] var numbers2 = [43, 22, 78, 46, 38] var numbers3 = [ 9, 98, 12, 98, 53] var numbers = List.filled(5, 0) for (n in 0..4) numbers[n] = numbers1[n].min(numbers2[n]).min(numbers3[n]) System.print(numbers)</lang>
- Output:
[5, 22, 12, 21, 38]