Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Tyutterin_Yakov_Z1411_with_1

.pdf
Скачиваний:
0
Добавлен:
07.01.2025
Размер:
3.55 Mб
Скачать

}

private static void insert(double[][] result, double[][] matrix, int line, int col) {

int i = 0;

int maxLine = line + matrix.length; int maxCol = col + matrix[0].length; for (; line < maxLine; line++) {

int j = 0;

for (int temp = col; temp < maxCol; temp++) { result[line][temp] = matrix[i][j++];

}

i++;

}

}

private static double[][] getMatrix(double[][] matrix, int line, int col, int maxLine, int maxCol) {

double[][] result = new double[maxLine - line][maxCol - col]; for (int i = 0; line < maxLine; line++, i++) {

for (int j = 0, temp = col; temp < maxCol; temp++, j++) { result[i][j] = matrix[line][temp];

}

}

return result;

}

private static void printMatrix(double[][] m, String message) { System.out.println(message);

for (double[] line : m) { System.out.println(Arrays.toString(line));

}

}

}

Результат:

Задание 4:

import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException;

public class Main {

public static void main(String[] args) { int[][] m = {

{8, 0, 0, 0, 0, 6, 6, 6, 6, 6}, {0, 8, 0, 0, 0, 6, 6, 6, 6, 6}, {0, 0, 8, 0, 0, 6, 6, 6, 6, 6}, {0, 0, 0, 8, 0, 6, 6, 6, 6, 6}, {0, 0, 0, 0, 8, 6, 6, 6, 6, 6}, {3, 3, 3, 3, 3, -2, 0, 0, 0, 0}, {3, 3, 3, 3, 3, 0, -2, 0, 0, 0}, {3, 3, 3, 3, 3, 0, 0, -2, 0, 0}, {3, 3, 3, 3, 3, 0, 0, 0, -2, 0}, {3, 3, 3, 3, 3, 0, 0, 0, 0, -2}

};

writeToFile(m, "matrixM.txt");

int[][] g = {

{2, 1, 0, 0, 0, 0, 0}, {1, 2, 1, 0, 0, 0, 0}, {0, 1, 2, 1, 0, 0, 0}, {0, 0, 1, 2, 1, 0, 0}, {0, 0, 0, 1, 2, 1, 0}, {0, 0, 0, 0, 1, 2, 1}, {0, 0, 0, 0, 0, 1, 2}

};

writeToFile(g, "matrixG.txt");

}

private static void writeToFile(int[][] matrix, String fileName) { try(BufferedWriter writer = new BufferedWriter(new

FileWriter(fileName))) {

for (final int[] line : matrix) { StringBuilder sb = new StringBuilder(); for (int i : line) {

sb.append(i).append("\t");

}

writer.write(sb.toString());

writer.newLine();

writer.flush();

}

} catch (IOException ex) {

throw new RuntimeException(ex);

}

}

}

Результат:

ЛАБОРАТОРНАЯ РАБОТА 6. Визуализация матриц и поэлементные операции над ними

Задание 1: a)

import java.util.Arrays;

public class Main {

public static void main(String[] args) { int[][] m = {

{7, -4, -3}, {3, -1, 0}, {4, -6, 5},

}; print(m);

for (int i = 0; i < m.length; i++) { int[] line = m[i];

int sumLine = 0; for (int k : line) {

sumLine += k;

}

System.out.println("Сумма строки " + (i + 1) + ": " + sumLine);

}

for (int i = 0; i < m.length; i++) { int sumColumn = 0;

for (int[] ints : m) { sumColumn += ints[i];

}

System.out.println("Сумма солбца " + (i + 1) + ": " + sumColumn);

}

}

private static void print(int[][] matrix) { for (int[] ints : matrix) {

System.out.println(Arrays.toString(ints));

}

System.out.println();

}

}

Результат:

б)

import java.util.Arrays;

public class Main {

public static void main(String[] args) { int[][] m = {

{7, -4, -3}, {3, -1, 0}, {4, -6, 5},

}; print(m);

//Сортировка элементов в строках for (int[] line : m) {

Arrays.sort(line);

}

//Результат сортировки элементов в строках print(m);

for (int i = 0; i < m.length; i++) { int[] column = new int[m.length]; for (int j = 0; j < m.length; j++) {

column[j] = m[j][i];

}

Arrays.sort(column);

for (int j = 0; j < m.length; j++) { m[j][i] = column[j];

}

}

print(m);

}

private static void print(int[][] matrix) { for (int[] ints : matrix) {

System.out.println(Arrays.toString(ints));

}

System.out.println();

}

}

Результат:

в)

import java.util.Arrays;

public class Main {

public static void main(String[] args) { int[][] m = {

{7, -4, -3}, {3, -1, 0}, {4, -6, 5},

}; print(m);

for (int i = 0; i < m.length; i++) { int[] line = m[i];

int max = Integer.MIN_VALUE; int min = Integer.MAX_VALUE; for (int k : line) {

if (k > max) { max = k;

}

if (k < min) { min = k;

}

}

System.out.println("Максимальное значение в строке " + (i + 1) + ": " + max);

System.out.println("Минимальное значение в строке " + (i + 1) + ": " + min);

}

for (int i = 0; i < m.length; i++) { int max = Integer.MIN_VALUE; int min = Integer.MAX_VALUE; for (int[] ints : m) {

int curr = ints[i];

if (curr > max) { max = curr;

}

if (curr < min) { min = curr;

}

}

System.out.println("Максимальное значение в столбце " + (i + 1) + ": " + max);

System.out.println("Минимальное значение в столбце " + (i + 1) + ": " + min);

}

}

private static void print(int[][] matrix) { for (int[] ints : matrix) {

System.out.println(Arrays.toString(ints));

}

System.out.println();

}

}

Результат:

Задание 2:

import java.util.Arrays; import java.util.Random;

public class Main {

public static void main(String[] args) { int[][] a = generate(3, 3); print(a);

final int[][] b = { {2, 2, 2}, {2, 2, 2}, {2, 2, 2},

};

a = minus(a, b); print(a);

int maxSumColumn = Integer.MIN_VALUE; for (int i = 0; i < a.length; i++) {

int sumColumn = 0; for (int[] ints : a) {

sumColumn += Math.abs(ints[i]);

}

if (sumColumn > maxSumColumn) { maxSumColumn = sumColumn;

}

}

System.out.println("1 норма: " + maxSumColumn);

}

private static void print(int[][] matrix) { for (int[] ints : matrix) {

System.out.println(Arrays.toString(ints));

}

System.out.println();

}

private static int[][] generate(int lines, int columns) { final int[][] a = new int[lines][columns];

final Random random = new Random(); for (int i = 0; i < lines; i++) {

for (int j = 0; j < columns; j++) { a[i][j] = random.nextInt(0, 8);

}

}

return a;

}

private static int[][] minus(final int[][] matrixA, final int[][] matrixB) {

int[][] result = new int[matrixA.length][matrixB[0].length]; for (int i = 0; i < matrixA.length; i++) {

int[] lineA = matrixA[i]; int[] lineB = matrixB[i];

int[] resultLine = new int[lineA.length]; for (int j = 0; j < lineB.length; j++) { resultLine[j] = lineA[j] - lineB[j];

}

result[i] = resultLine;

}

return result;

}

}

Результат:

Задание 3:

import java.util.Arrays; import java.util.Random;

public class Main {

public static void main(String[] args) { int[][] a = generate(3, 3); print(a);

final int[][] b = { {2, 2, 2}, {2, 2, 2}, {2, 2, 2},

};

a = minus(a, b); print(a);

int maxSumColumn = Integer.MIN_VALUE; for (int i = 0; i < a.length; i++) {

int sumColumn = 0; for (int[] ints : a) {

sumColumn += Math.abs(ints[i]);

}

if (sumColumn > maxSumColumn) { maxSumColumn = sumColumn;

}

}

System.out.println("p = " + maxSumColumn);

int maxSumLine = Integer.MIN_VALUE; for (int[] line : a) {

int sumLine = 0; for (int k : line) {

sumLine += Math.abs(k);

}

if (sumLine > maxSumLine) { maxSumLine = sumLine;

}

}

System.out.println("q = " + maxSumLine);

double r = 0;

for (int[] lines : a) { for (int el : lines) {

r += Math.pow(el, 2);

}

}

r = Math.sqrt(r); System.out.println("r = " + r);

int s = 0;

for (int[] lines : a) { for (int el : lines) {

s += Math.abs(el);

}

}

System.out.println("s = " + s);

}

private static void print(int[][] matrix) { for (int[] ints : matrix) {

System.out.println(Arrays.toString(ints));

}

System.out.println();

}

private static int[][] generate(int lines, int columns) { final int[][] a = new int[lines][columns];

final Random random = new Random(); for (int i = 0; i < lines; i++) {

for (int j = 0; j < columns; j++) { a[i][j] = random.nextInt(0, 8);

}

}

return a;

}

private static int[][] minus(final int[][] matrixA, final int[][] matrixB) {

int[][] result = new int[matrixA.length][matrixB[0].length]; for (int i = 0; i < matrixA.length; i++) {

int[] lineA = matrixA[i]; int[] lineB = matrixB[i];

int[] resultLine = new int[lineA.length]; for (int j = 0; j < lineB.length; j++) { resultLine[j] = lineA[j] - lineB[j];

}

result[i] = resultLine;

}

return result;

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]