// // simple demo of using loops to operate on arrays // def fillArray(a : Array[Int]) { for (i <- 0 until a.size) a(i) = readInt } def printArray(a : Array[Int]) { for (i <- 0 until a.size) println(a(i)) } def arrayCombine(a : Array[Int], combine : (Int, Int) => Int, identity : Int) : Int = { var result = identity for (i <- 0 until a.size) result = combine(result, a(i)) result } val a1 = new Array[Int](6) println("enter " + a1.size + " values for array:") fillArray(a1) println("you entered:") printArray(a1) println("sum = " + arrayCombine(a1, (x,y)=>(x+y), 0)) println("product = " + arrayCombine(a1, (x,y)=>(x*y), 1)) println("min = " + arrayCombine(a1, (x,y) => (x min y), Int.MaxValue)) println("max = " + arrayCombine(a1, (x,y) => (x max y), Int.MinValue))