package kapitel_03 /** * Beispiel aus * * - Algorithmen und Datenstrukturen für Dummies * - von Andreas Gogol-Döring und Thomas Letschert * - Verlag Wiley-VCH; Oktober 2019 * - Kapitel 3, Daten und ihre Struktur * * @author A. Gogol-Döring, Th. Letschert */ object AuD_03_02_FArray_App extends App { def FArray1(n: Int): Array[Int] = { val a = new Array[Int](n+1) a(0) = 1 for(i <- 1 to n) a(i) = a(i-1) * i a } def FArray2a(n: Int): Array[(Int, Int)] = { val a = new Array[(Int, Int)](n+1) a(0) = (0, 1) for(i <- 1 to n) a(i) = (i, a(i-1)._2 * i) a } def FArray2(n: Int): Array[(Int, Int)] = { val a = new Array[(Int, Int)](n+1) a(0) = (0, 1) for(i <- 1 to n) a(i-1) match { case (_, x) => a(i) = (i, x * i) } a } case class Record( v: Int, f: Int ) def FArray3a(n: Int): Array[Record] = { val a = new Array[Record](n+1) a(0) = Record(0, 1) for(i <- 1 to n) a(i) = Record(i, a(i-1).f * i) a } def FArray3(n: Int): Array[Record] = { val a = new Array[Record](n+1) a(0) = Record(0, 1) for(i <- 1 to n) a(i-1) match { case Record(_, v) => a(i) = Record(i, v * i) } a } println(FArray1(10).mkString((","))) println(FArray2(10).mkString((","))) println(FArray3(10).mkString((","))) }