Массив, сумма элементов соприкасающихся углами с максимальным элементом. Java
Есть задача.
Создать функцию, определяющую в целочисленном прямоугольном массиве matrixnm сумму всех элементов, соприкасающихся углами с его максимальным элементом. Написал под неё программу, но считает она не правильно. Помогите пожалуйста разобраться. Код:
int n, m, vector_min, vector_max, max, s; |
Цитата:
|
Цитата:
|
min= 1 max= 9 n= 5
Массив: 3 8 9 8 9 1 1 7 5 8 1 8 3 2 9 4 2 8 8 4 1 8 7 2 9 max = 9sum = 15 |
Цитата:
i < imax + 1; j < jmax + 1; неравенства следует брать НЕСТРОГИЕ, т.е <=. |
Все равно считает не правильно.
Массив: 75 35 67 46 28 98 67 39 48 24 41 69 96 71 82 99 66 66 21 13 97 12 56 47 63 max = 96sum = 447 И иногда выскакивает ошибка: Код:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 5 |
Забыл сказать, он теперь не правильно и макс значение определяет.
|
Цитата:
Выложите новый код - посмотрю. После обеда. |
Код:
int n, m, vector_min, vector_max, max, s; |
И сразу - вопрос:
Почему при поиске максимального элемента Вы индексируете массив с 1, в то время как при заполнении матрицы - с 0? Отсюда и ошибки при поиске максимума: во-первых, программа с считывает со второй строки и со второго столбца (отсюда пропущенные значения элементов), во-вторых, она не может найти строк и столбцов с максимальными индексами - отсюда эта простыня ошибок. Поясняю на примере: допустим, Вы задаете матрицу 5х5. Но при вводе значений Вы гоняете i и j от 0 до 4, а при поиске максимума - от 1 до 5. Приведите все части программы к единой индексации, и будет Вам счастье. |
Часовой пояс GMT +4, время: 15:09. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.