Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
88 / 10 / 2
Регистрация: 07.02.2009
Сообщений: 226

Выход за пределы массива(матрицы)

04.09.2019, 21:47. Показов 4564. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу понять почему происходит выход за пределы массива в первом цыкал for в 5 строке( java.lang.ArrayIndexOutOfBoundsException : 6). Ведь как только i = 6 цыкал должен прерваться, не должно быть прохода с i = 6, но он почему-то не прерывается и идет дальше. Хотя, второй цыкал имеет такие же параметры и работает как надо.
В чем причина?
Метод должет решать следующую задачу: Посчитать сумму элементов в столбцах. Определить в каком столбце сумма больше
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static void getNumberOfColumn(int[][] inputMatrix){
        int resultCount = 0;
        int numberColumn = 0;
// берем номер столбца.
        for (int i = 0; i < inputMatrix[i].length ; i++) {
            int count = 0;
            //прогоняем  по строкам
            for (int j = 0; j < inputMatrix.length ; j++) {
                count += inputMatrix[j][i];
            }
            if (count > resultCount){
                resultCount = count;
                numberColumn = i;
            }
        }
        System.out.println("Max sum elem = " + resultCount + " in column № " + numberColumn);
    }
Добавлено через 10 минут
Забыл. Матрица для теста:
int [] [] matrix={ {1, 2, 3, 4, 5, 0},
{2, 5, 8, 5, 9, 8},
{9, 5, 2, 6, 5, 10},
{2, 6, 8, 4, 7, 15},
{5, 9, 8 ,2 ,2, 10},
{0, 0, 9, 9, 9, 100}};
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.09.2019, 21:47
Ответы с готовыми решениями:

Выход за пределы массива
Здравствуйте, товарищи программисты! Была поставлена следующая задача: &quot;-Будем называть соседями элемента с индексами i,j некоторой...

Выход за пределы массива
Выдает ошибку &quot;Exception in thread &quot;main&quot; java.lang.ArrayIndexOutOfBoundsException: 8&quot; в строке, подскажите пожалуйста, в чем может быть...

Выход за пределы массива
Заполняю динамический массив случайными числами и вывожу его на экран. Дебажная куча жалуется на использование чужой памяти. Не могу найти...

23
88 / 10 / 2
Регистрация: 07.02.2009
Сообщений: 226
05.09.2019, 21:34  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Aviz__ Посмотреть сообщение
каких? ты трезв, или как?
summator and rowMAtr - два массива.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
05.09.2019, 22:13
Цитата Сообщение от error777 Посмотреть сообщение
summator and rowMAtr - два массива.
rowMAtr — это ссылка.

А summator — да, определённо лишний. Aviz__, зачем тебе этот массив?

Добавлено через 5 минут
Цитата Сообщение от Aviz__ Посмотреть сообщение
мой метод легко переделывается, под нужды выдачи сумм по всем столбцам сразу.
Цитата Сообщение от Aviz__ Посмотреть сообщение
если работать, то код должен быть максимально масштабируемым))
Если работать, то не нужно заниматься оверинжинирингом, а следовать KISS. И при чём тут масштабируемость? Твой код хуже масштабируется из-за более высоких требований к памяти, ну и лишний проход по этому массиву, в вырожденном случае (однострочная матрица) приведэт к времени выполнения 2n вместо n. Если ты про «программа должна решать задачу наиболее общим образом», то у тебя ж не решает: всё равно возвращает int. Как-то ни рыба, ни мясо получается…
0
88 / 10 / 2
Регистрация: 07.02.2009
Сообщений: 226
05.09.2019, 22:30  [ТС]
Цитата Сообщение от korvin_ Посмотреть сообщение
rowMAtr — это ссылка.
Ну вот, я узнал для себя что-то новое. Я думал, что это создается новый массив и заполняется элементами из 1 массива матрицы.
0
 Аватар для Aviz__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,505
06.09.2019, 08:39
Цитата Сообщение от korvin_ Посмотреть сообщение
всё равно возвращает in
вот с этим, 100%, да))! еще ты забыл важный момент, что summator должен иметь не int, т.к. сумма растет быстро!
Цитата Сообщение от korvin_ Посмотреть сообщение
то не нужно заниматься оверинжинирингом
не занимайся)). а видеть разные пути нужно и важно. это один из путей, если ты не понял))
Цитата Сообщение от korvin_ Посмотреть сообщение
а следовать KISS
- это вообще не только в работе)), но вот, как ты к этому приходишь? простота по отношению к чему?
Цитата Сообщение от error777 Посмотреть сообщение
что-то новое
другими словами, ты не узнал, как устроены многомерные массивы, а стал с ними решать?!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.09.2019, 08:39

Выход за пределы массива
Где-то здесь происходит выход за пределы массива puti, но я не могу его найти уже второй день. Объясните, пожалуйста, в чем моя проблема и...

Выход за пределы массива
По мойму нарушение границ массива в c++ не допускается. Это будет выход за пределы массива и попытка записать элемент в какуюто другую...

Выход за пределы массива
Тексты надо переписывать в сообщение! Я не как не пойму, где у меня выход за приделы массива Строчка 42 помогите плизз

Выход за пределы массива
Когда происходит упорядочивание четных элементов алгоритм выходит за пределы массива #include &lt;stdio.h&gt; #include...

Выход за пределы массива
В 7 строке выдает ошибку выхода за пределы массива. Никак не могу понять в чем ошибка def kvadrat(size): width=cell/(size*size*4) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru