Как рассчитать количество столбцов содержащих нули в многомерном массиве java?

Пользователь

от magdalen_kub , в категории: Java , год назад

Как рассчитать количество столбцов содержащих нули в многомерном массиве java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от cloyd , год назад

@magdalen_kub 

Для рассчета количества столбцов содержащих нули в многомерном массиве java, необходимо перебрать все столбцы и проверить каждый из них на наличие нулей. Для этого можно использовать следующий алгоритм:

  1. Создать переменную для подсчета количества столбцов содержащих нули и инициализировать ее нулем.
  2. Получить количество строк и столбцов в массиве.
  3. В цикле перебирать все столбцы от 0 до количества столбцов в массиве.
  4. Во внутреннем цикле перебирать все строки от 0 до количества строк в массиве.
  5. Если в текущей ячейке массива значение равно 0, то перейти к следующей строке, иначе продолжить проверку следующей ячейки в этом столбце.
  6. Если все ячейки в текущем столбце содержат нули, то увеличить переменную для подсчета количества столбцов содержащих нули на единицу.
  7. Вывести результат.


Пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
public static int countColumnsWithZeros(int[][] arr) {
    int count = 0;
    int rows = arr.length;
    int cols = arr[0].length;
    
    for (int j = 0; j < cols; j++) {
        boolean hasZeros = false;
        for (int i = 0; i < rows; i++) {
            if (arr[i][j] == 0) {
                hasZeros = true;
                break;
            }
        }
        if (!hasZeros) {
            count++;
        }
    }
    
    return count;
}


Этот метод принимает на вход двумерный массив и возвращает количество столбцов содержащих нули в этом массиве.

Пользователь

от nelle , 2 месяца назад

@magdalen_kub 

Приведенный выше код содержит метод countColumnsWithZeros, который рассчитывает количество столбцов, в которых все элементы равны нулю в многомерном массиве.


Пример использования метода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class Main {
    public static void main(String[] args) {
        int[][] array = {
            {1, 0, 3},
            {4, 0, 6},
            {7, 0, 9}
        };
        
        int result = countColumnsWithZeros(array);
        System.out.println("Количество столбцов содержащих нули: " + result);
    }

    public static int countColumnsWithZeros(int[][] arr) {
        int count = 0;
        int rows = arr.length;
        int cols = arr[0].length;
        
        for (int j = 0; j < cols; j++) {
            boolean hasZeros = false;
            for (int i = 0; i < rows; i++) {
                if (arr[i][j] == 0) {
                    hasZeros = true;
                    break;
                }
            }
            if (!hasZeros) {
                count++;
            }
        }
        
        return count;
    }
}


При передаче массива array метод countColumnsWithZeros вернет количество столбцов, в которых все элементы равны нулю.