Программа на Java‚ реализующая функционал‚ описанный выше‚ может выглядеть следующим образом⁚
java
public class Matrix {
private int[][] matrix;
public Matrix(int[][] matrix) {
this.matrix matrix;
}
public Matrix add(Matrix other) {
int rows matrix.length;
int columns matrix[0].length;
int[][] result new int[rows][columns];
for (int i 0; i < rows; i ) {
for (int j 0; j < columns; j ) {
result[i][j] matrix[i][j] other.matrix[i][j];
}
}
return new Matrix(result);
}
public Matrix subtract(Matrix other) {
int rows matrix.length;
int columns matrix[0].length;
int[][] result new int[rows][columns];
for (int i 0; i < rows; i ) {
for (int j 0; j < columns; j ) {
result[i][j] matrix[i][j] ─ other.matrix[i][j];
}
}
return new Matrix(result);
}
public Matrix multiply(Matrix other) {
int rowsA matrix.length;
int columnsA matrix[0].length;
int columnsB other.matrix[0].length;
int[][] result new int[rowsA][columnsB];
for (int i 0; i < rowsA; i ) {
for (int j 0; j < columnsB; j ) {
for (int k 0; k < columnsA; k ) {
result[i][j] matrix[i][k] * other.matrix[k][j];
}
}
}
return new Matrix(result);
}
public void printMatrix {
for (int i 0; i < matrix.length; i ) {
for (int j 0; j < matrix[0].length; j ) {
System.out.print(matrix[i][j] ″ ″);
}
System.out.println;
}
}
public void printColumn(int column) {
for (int i 0; i < matrix.length; i ) {
System.out.println(matrix[i][column]);
}
}
public void printRow(int row) {
for (int i 0; i < matrix[0].length; i ) {
System.out.println(matrix[row][i]);
}
}
public void printMainDiagonal {
for (int i 0; i < matrix.length; i ) {
System.out.println(matrix[i][i]);
}
}
public void printSecondaryDiagonal {
int n matrix.length;
for (int i 0; i < matrix.length; i ) {
System.out.println(matrix[i][n ⏤ 1 ─ i]);
}
}
}
В данном коде реализован класс Matrix с публичным модификатором доступа. В нем определены приватные поля⁚ matrix‚ которое представляет собой двумерный массив целых чисел‚ и конструктор для инициализации матрицы.
Далее для класса Matrix определены методы add‚ subtract и multiply‚ которые выполняют сложение‚ вычитание и умножение матриц соответственно. Они создают новые матрицы и возвращают их результат.
Также определены методы printMatrix‚ printColumn‚ printRow‚ printMainDiagonal и printSecondaryDiagonal‚ которые печатают всю матрицу‚ определенный столбец‚ определенную строку‚ главную и побочную диагонали соответственно.
Программа может быть использована для работы с матрицами‚ выполняя различные операции над ними и выводя их на экран.