Не получается заменить элементы в квадратной матрице ниже побочной диагонали
Вот задание: Все элементы матрицы X (n x n), лежащие ниже второстепенной диагонали,заменить ко-личеством отрицательных элементов, стоящих в нечетных строках и в четных столбцах.
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Введите размер квадратной матрицы: ");
int n = input.nextInt();
double[][] X = new double[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print("Введите элемент в строке " + (i + 1) + " столбце " + (j + 1) + ": ");
X[i][j] = input.nextDouble();
}
}
System.out.println("Изначальная матрица:");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
String fmat = new DecimalFormat("#0.00").format(X[i][j]);
System.out.print(fmat + "\t");
}
System.out.println();
}
int countNegatives;
for (int i = 0; i < n; i++) {
countNegatives = 0;
for (int j = 0; j < n; j++) {
if (X[i][j] < 0) {
countNegatives++;
}
}
for (int j = 0; j < n; j++) {
if (j < n - i + 1) {
X[i][j] = countNegatives;
}
}
}
System.out.println("Матрица после замены:");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
String fmat = new DecimalFormat("#0.00").format(X[i][j]);
System.out.print(fmat + "\t");
}
System.out.println();
}
}
Пример ввода:
Введите размер квадратной матрицы: 3
Вв элемент в строке 1 столбце 1: 1
Вв элемент в строке 1 столбце 2: -2
Вв элемент в строке 1 столбце 3: 3
Вв элемент в строке 2 столбце 1: -4
Вв элемент в строке 2 столбце 2: 5
Вв элемент в строке 2 столбце 3: -6
Вв элемент в строке 3 столбце 1: 7
Вв элемент в строке 3 столбце 2: -8
Вв элемент в строке 3 столбце 3: 9
Пример вывода:
Изначальная матрица:
1.00 -2.00 3.00
-4.00 5.00 -6.00
7.00 -8.00 9.00
Матрица после замены:
1.00 1.00 1.00
2.00 2.00 2.00
1.00 1.00 9.00
Ожидаемый результат:
1.00 -2.00 3.00
-4.00 5.00 2.00
7.00 2.00 2.00
Источник: Stack Overflow на русском