вопрос о матрицах - PullRequest
0 голосов
/ 10 июня 2010

в программировании часто такие задачи проходят в многомерном массиве (для упрощения, давайте возьмем двумерный), мне нужны индексы элементов в двумерном массиве, например слева направо снизу вверх и наоборот и так далее, приведите несколько примеров

Ответы [ 2 ]

1 голос
/ 10 июня 2010

Длина массива arr в Java всегда равна arr.length. В Java многомерные массивы - это не что иное, как массивы массивов, поэтому вы можете последовательно взять .length любого «подмассива».

    int[][] m = {
        { 1, 2, 3, },
        { 4, 5, },
        { 6, 7, 8, 9, 10 },
    };
    for (int i = 0; i < m.length; i++) {
        for (int j = 0; j < m[i].length; j++) {
            System.out.printf("m[%d][%d] = %d%n", i, j, m[i][j]);
        }
    }

Вышеуказанные отпечатки:

m[0][0] = 1
m[0][1] = 2
m[0][2] = 3
m[1][0] = 4
m[1][1] = 5
m[2][0] = 6
m[2][1] = 7
m[2][2] = 8
m[2][3] = 9
m[2][4] = 10

Для представления матриц лучше прикрепить к структуре данных (массивы или нет) два индекса M и N, которые являются размерностью матрицы, и выполнить итерации по индексам в терминах M и N вместо массива .length. Эта более высокая абстракция приведет к лучшей читаемости.

Смотри также

0 голосов
/ 10 июня 2010

Я бы настоятельно рекомендовал сначала пройти учебники, доступные в Интернете, а затем задавать вопросы здесь.Ваша проблема не в матрицах, а в самом языке, так как кажется, что вы не понимаете, как работают фундаментальные вещи в программировании.

Кроме того, пометьте свои ответы лучше.Укажите язык, который вы используете, и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...