You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
884 B

package main
import (
"fmt"
"./student"
)
func reduceInt(f func(int, int) int, a []int) {
acc := a[0]
for i := 1; i < len(a); i++ {
acc = f(acc, a[i])
}
fmt.Println(acc)
}
func main() {
5 years ago
f := []func(int, int) int{
func(accumulator, currentValue int) int {
return accumulator + currentValue
},
func(accumulator, currentValue int) int {
return accumulator - currentValue
},
func(accumulator, currentValue int) int {
return currentValue * accumulator
},
}
argInt := []int{}
type node struct {
5 years ago
a []int
functions []func(int, int) int
}
table := []node{}
for i := 0; i < 4; i++ {
argInt = lib.MultRandIntBetween(0, 50)
5 years ago
table = append(table, node{
a: argInt,
functions: f,
5 years ago
})
}
for _, v := range table {
for _, f := range v.functions {
lib.Challenge("ReduceInt", student.ReduceInt, reduceInt, f, v.a)
}
}
}