diff --git a/uebungen/u29/Pascal.class b/uebungen/u29/Pascal.class new file mode 100644 index 0000000..0736e80 Binary files /dev/null and b/uebungen/u29/Pascal.class differ diff --git a/uebungen/u29/Pascal.java b/uebungen/u29/Pascal.java new file mode 100644 index 0000000..dc510cd --- /dev/null +++ b/uebungen/u29/Pascal.java @@ -0,0 +1,48 @@ +import java.util.*; +/** + * Klasse zum generieren eines Pasclschen Dreiecks + */ +public class Pascal { + public static void main(String[] args) { + Scanner console = new Scanner(System.in); + + System.out.print("Wieviele Zeilen? "); + int numlines = console.nextInt(); + + printPascal(numlines); + } + + /** + * Gibt ein Paskalsches Dreieck mit numlines Zeilen + * auf der Konsole aus + */ + public static void printPascal(int numlines){ + if (numlines <= 0) return; + int[][] pascal = new int[numlines][]; + pascal[0] = new int[1]; + pascal[0][0] = 1; + + for (int i = 1; i < numlines; i++) { + pascal[i] = new int[i + 1]; + pascal[i][0] = 1; + pascal[i][i] = 1; + for (int j = 1; j < i; j++) { + pascal[i][j] = pascal[i - 1][j - 1] + pascal[i - 1][j]; + } + } + + print2dArray(pascal); + } + + public static void print2dArray(int[][] arr) { + for (int i = 0; i < arr.length; i++) { + if (arr[i].length > 0) { + System.out.print(arr[i][0]); + } + for (int j = 1; j < arr[i].length; j++) { + System.out.print(" " + arr[i][j]); + } + System.out.println(); + } + } +}