diff --git a/lab2/Matrix/.idea/.gitignore b/lab2/Matrix/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/lab2/Matrix/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/lab2/Matrix/.idea/.name b/lab2/Matrix/.idea/.name new file mode 100644 index 0000000..002da1d --- /dev/null +++ b/lab2/Matrix/.idea/.name @@ -0,0 +1 @@ +Main.java \ No newline at end of file diff --git a/lab2/Matrix/.idea/misc.xml b/lab2/Matrix/.idea/misc.xml new file mode 100644 index 0000000..7464918 --- /dev/null +++ b/lab2/Matrix/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/lab2/Matrix/.idea/modules.xml b/lab2/Matrix/.idea/modules.xml new file mode 100644 index 0000000..8a85d50 --- /dev/null +++ b/lab2/Matrix/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/lab2/Matrix/Matrix.iml b/lab2/Matrix/Matrix.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/lab2/Matrix/Matrix.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/lab2/Matrix/out/production/Matrix/Main.class b/lab2/Matrix/out/production/Matrix/Main.class new file mode 100644 index 0000000..c898a5c Binary files /dev/null and b/lab2/Matrix/out/production/Matrix/Main.class differ diff --git a/lab2/Matrix/src/Main.java b/lab2/Matrix/src/Main.java new file mode 100644 index 0000000..a0c3fbb --- /dev/null +++ b/lab2/Matrix/src/Main.java @@ -0,0 +1,58 @@ +import java.util.Arrays; + +public class Main { + public static void main(String[] args) { + byte[][] matrix = {{4, 7, 3}, {4, 7, 6}, {7, 10, 9}}; + + //C5 = 2501 mod 5 = 1, тому C = B^T (транспонування матриці) + //C7 = 2501 mod 7 = 1, тому тип елементів матриці має бути byte + //C11 = 2501 mod 11 = 10, тому треба знайти середнє значення елементів матриці + + // Виконуємо дію з матрицею: транспонування матриці B + byte[][] transposedMatrix = transposeMatrix(matrix); + System.out.println("Transposed matrix: "); + printMatrix(transposedMatrix); + + // Виконуємо дію з матрицею C: знаходимо середнє значення елементів матриці + double average = calculateAverage(transposedMatrix); + System.out.println("Cереднє значення елементів матриці: " + average); + } + + // Метод для транспонування матриці + private static byte[][] transposeMatrix(byte[][] matrix) { + int rows = matrix.length; + int columns = matrix[0].length; + + byte[][] transposedMatrix = new byte[columns][rows]; + + for (int i = 0; i < rows; i++) { + for (int j = 0; j < columns; j++) { + transposedMatrix[j][i] = matrix[i][j]; + } + } + + return transposedMatrix; + } + + // Метод для знаходження середнього значення елементів матриці + private static double calculateAverage(byte[][] matrix) { + int rows = matrix.length; + int columns = matrix[0].length; + + int sum = 0; + for (int i = 0; i < rows; i++) { + for (int j = 0; j < columns; j++) { + sum += matrix[i][j]; + } + } + + return (double) sum / (rows * columns); + } + + // Метод для виведення матриці на екран + private static void printMatrix(byte[][] matrix) { + for (byte[] row : matrix) { + System.out.println(Arrays.toString(row)); + } + } +} diff --git a/lab2/lab2.pdf b/lab2/lab2.pdf new file mode 100644 index 0000000..92e651c Binary files /dev/null and b/lab2/lab2.pdf differ