public class MatrixOperations {
public static double[][] calculateB(double[][] a) {
int n = a.length; // Предполагаем, что матрица квадратная, как на рисунке
if (n == 0) {
return new double[0][0]; // Обработка случая пустой матрицы
}
int m = a[0].length;
double[][] b = new double[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
double sum = 0;
// Суммируем элементы в i-й строке
for (int k = 0; k < m; k++) {
sum += a[i][k];
}
// Суммируем элементы в j-м столбце
for (int k = 0; k < n; k++) {
sum += a[k][j];
}
// Вычитаем a[i][j], так как он был посчитан дважды
sum -= a[i][j];
b[i][j] = sum;
}
}
return b;
}
public static void main(String[] args) {
// Пример использования
double[][] a = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
double[][] b = calculateB(a);
System.out.println("Матрица a:");
printMatrix(a);
System.out.println("Матрица b:");
printMatrix(b);
}
public static void printMatrix(double[][] matrix) {
for (double[] row : matrix) {
for (double element : row) {
System.out.print(element + " ");
}
System.out.println();
}
}
}