diff --git a/src/de/dhbwka/java/exercise/arrays/BubbleSort.java b/src/de/dhbwka/java/exercise/arrays/BubbleSort.java new file mode 100644 index 0000000..de690d3 --- /dev/null +++ b/src/de/dhbwka/java/exercise/arrays/BubbleSort.java @@ -0,0 +1,32 @@ +package de.dhbwka.java.exercise.arrays; + +public class BubbleSort { + public static void main(String[] args) { + java.util.Scanner scan = new java.util.Scanner(System.in); + System.out.print("Anzahl der Elemente: "); + int n = scan.nextInt(); + + int[] arr = new int[n]; + for (int i = 0; i < n; i++) { + System.out.print("Element " + i + ": "); + arr[i] = scan.nextInt(); + } + + scan.close(); + + for (int i = 0; i < arr.length; i++) { + for (int j = 0; j < arr.length - 1; j++) { + if (arr[j] > arr[j + 1]) { + int temp = arr[j]; + arr[j] = arr[j + 1]; + arr[j + 1] = temp; + } + } + } + + for (int i : arr) { + System.out.print(i + " "); + } + System.out.println(); + } +} diff --git a/src/de/dhbwka/java/exercise/arrays/DotProduct.java b/src/de/dhbwka/java/exercise/arrays/DotProduct.java new file mode 100644 index 0000000..9b2adcb --- /dev/null +++ b/src/de/dhbwka/java/exercise/arrays/DotProduct.java @@ -0,0 +1,26 @@ +package de.dhbwka.java.exercise.arrays; + +public class DotProduct { + public static void main(String[] args) { + java.util.Scanner scan = new java.util.Scanner(System.in); + System.out.print("Anzahl der Elemente: "); + int n = scan.nextInt(); + double[] arr1 = new double[n]; + double[] arr2 = new double[n]; + for (int i = 0; i < n; i++) { + System.out.print("Element " + i + " (Array 1): "); + arr1[i] = scan.nextDouble(); + } + for (int i = 0; i < n; i++) { + System.out.print("Element " + i + " (Array 2): "); + arr2[i] = scan.nextDouble(); + } + scan.close(); + + double dotProduct = 0; + for (int i = 0; i < n; i++) { + dotProduct += arr1[i] * arr2[i]; + } + System.out.println("Skalarprodukt: " + dotProduct); + } +} diff --git a/src/de/dhbwka/java/exercise/arrays/Eratostenes.java b/src/de/dhbwka/java/exercise/arrays/Eratostenes.java new file mode 100644 index 0000000..fb48ae8 --- /dev/null +++ b/src/de/dhbwka/java/exercise/arrays/Eratostenes.java @@ -0,0 +1,54 @@ +package de.dhbwka.java.exercise.arrays; + +public class Eratostenes { + private static final int NUM = 1000; + + public static void main(String[] args) { + // List sieve = new java.util.ArrayList<>(); + // List primes = new java.util.ArrayList<>(); + + // for (int i = 2; i <= NUM; i++) { + // sieve.add(i); + // } + + // while (!sieve.isEmpty()) { + // int prime = sieve.get(0); + // primes.add(prime); + // sieve.removeIf(i -> i % prime == 0); + // } + + // System.out.println(primes); + + boolean[] sieve = new boolean[NUM + 1]; + for (int i = 2; i < sieve.length; i++) { + sieve[i] = true; + } + boolean[] primes = new boolean[NUM + 1]; + + while (true) { + int prime = -1; + for (int i = 2; i < sieve.length; i++) { + if (sieve[i]) { + prime = i; + break; + } + } + + if (prime == -1) { + break; + } + + primes[prime] = true; + + for (int i = prime; i < sieve.length; i += prime) { + sieve[i] = false; + } + } + + for (int i = 2; i < primes.length; i++) { + if (primes[i]) { + System.out.println(i); + } + } + } +} diff --git a/src/de/dhbwka/java/exercise/arrays/Fibonacci.java b/src/de/dhbwka/java/exercise/arrays/Fibonacci.java new file mode 100644 index 0000000..185fc38 --- /dev/null +++ b/src/de/dhbwka/java/exercise/arrays/Fibonacci.java @@ -0,0 +1,18 @@ +package de.dhbwka.java.exercise.arrays; + +public class Fibonacci { + private static final int NUM = 50; + + public static void main(String[] args) { + long[] lastTwo = { 0, 1 }; + System.out.println(lastTwo[0]); + System.out.println(lastTwo[1]); + + for (int i = 2; i < NUM; i++) { + long next = lastTwo[0] + lastTwo[1]; + System.out.println(next); + lastTwo[0] = lastTwo[1]; + lastTwo[1] = next; + } + } +} diff --git a/src/de/dhbwka/java/exercise/arrays/MatrixSubtraction.java b/src/de/dhbwka/java/exercise/arrays/MatrixSubtraction.java new file mode 100644 index 0000000..8a843f2 --- /dev/null +++ b/src/de/dhbwka/java/exercise/arrays/MatrixSubtraction.java @@ -0,0 +1,54 @@ +package de.dhbwka.java.exercise.arrays; + +public class MatrixSubtraction { + private static int[][] generateRandomMatrix(int x, int y, int max) { + int[][] matrix = new int[x][y]; + for (int i = 0; i < x; i++) { + for (int j = 0; j < y; j++) { + matrix[i][j] = (int) (Math.random() * max); + } + } + return matrix; + } + + private static int[][] subtractMatrix(int[][] matrix1, int[][] matrix2) { + int[][] result = new int[matrix1.length][matrix1[0].length]; + for (int i = 0; i < matrix1.length; i++) { + for (int j = 0; j < matrix1[0].length; j++) { + result[i][j] = matrix1[i][j] - matrix2[i][j]; + } + } + return result; + } + + public static void main(String[] args) { + int[][] matrix1 = generateRandomMatrix(3, 4, 100); + int[][] matrix2 = generateRandomMatrix(3, 4, 100); + + System.out.println("Matrix 1:"); + for (int i = 0; i < matrix1.length; i++) { + for (int j = 0; j < matrix1[0].length; j++) { + System.out.printf("%3d ", matrix1[i][j]); + } + System.out.println(); + } + + System.out.println("Matrix 2:"); + for (int i = 0; i < matrix2.length; i++) { + for (int j = 0; j < matrix2[0].length; j++) { + System.out.printf("%3d ", matrix2[i][j]); + } + System.out.println(); + } + + int[][] result = subtractMatrix(matrix1, matrix2); + + System.out.println("Result:"); + for (int i = 0; i < result.length; i++) { + for (int j = 0; j < result[0].length; j++) { + System.out.printf("%3d ", result[i][j]); + } + System.out.println(); + } + } +} diff --git a/src/de/dhbwka/java/exercise/arrays/Norm.java b/src/de/dhbwka/java/exercise/arrays/Norm.java new file mode 100644 index 0000000..24ce57a --- /dev/null +++ b/src/de/dhbwka/java/exercise/arrays/Norm.java @@ -0,0 +1,21 @@ +package de.dhbwka.java.exercise.arrays; + +public class Norm { + public static void main(String[] args) { + java.util.Scanner scan = new java.util.Scanner(System.in); + System.out.print("Anzahl der Elemente: "); + int n = scan.nextInt(); + double[] arr = new double[n]; + for (int i = 0; i < n; i++) { + System.out.print("Element " + i + ": "); + arr[i] = scan.nextDouble(); + } + scan.close(); + + double sum = 0; + for (double d : arr) { + sum += d * d; + } + System.out.println("Norm: " + Math.sqrt(sum)); + } +} diff --git a/src/de/dhbwka/java/exercise/arrays/Pascal.java b/src/de/dhbwka/java/exercise/arrays/Pascal.java new file mode 100644 index 0000000..fe6739b --- /dev/null +++ b/src/de/dhbwka/java/exercise/arrays/Pascal.java @@ -0,0 +1,27 @@ +package de.dhbwka.java.exercise.arrays; + +public class Pascal { + private static final int SIZE = 9; + + public static void main(String[] args) { + int[][] pascal = new int[SIZE][]; + for (int i = 0; i < SIZE; 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]; + } + } + + for (int i = 0; i < SIZE; i++) { + for (int j = 0; j < SIZE - i; j++) { + System.out.print(" "); + } + for (int j = 0; j < pascal[i].length; j++) { + System.out.printf("%6d", pascal[i][j]); + } + System.out.println(); + } + } +} diff --git a/src/de/dhbwka/java/exercise/arrays/StandardDeviation.java b/src/de/dhbwka/java/exercise/arrays/StandardDeviation.java new file mode 100644 index 0000000..19661df --- /dev/null +++ b/src/de/dhbwka/java/exercise/arrays/StandardDeviation.java @@ -0,0 +1,22 @@ +package de.dhbwka.java.exercise.arrays; + +import java.util.Arrays; + +public class StandardDeviation { + private static double stdDev(int[] arr) { + return Math.sqrt(Arrays.stream(arr).mapToDouble(i -> Math.pow(i - average(arr), 2)).sum() / (arr.length - 1)); + } + + private static double average(int[] arr) { + return Arrays.stream(arr).sum() / arr.length; + } + + public static void main(String[] args) { + int[] arr = new int[100]; + for (int i = 0; i < arr.length; i++) { + arr[i] = (int) (Math.random() * 100); + } + System.out.println("Standardabweichung: " + stdDev(arr)); + System.out.println("Mittelwert: " + average(arr)); + } +}