2015-08-13 2 views
0

У меня есть требование, когда мне нужно суммировать элементы каждой строки, а затем присваивать сумму диагональному элементу.Диагональный элемент должен быть равен сумме недиагонального элемента

Например, 2D-массив размера [4] [4], диагональный элемент должен быть суммой недиагонального элемента.

R11= R12 + R13 + R14 
R22= R21 + R23 + R24 
R33= R31 + R32 + R34 
R44= R41 + R42 + R43 

Может кто-нибудь помочь в решении этой задачи.

+1

Вы пытались решить эту проблему? Если это так, напишите код и конкретные ошибки, с которыми вы сталкиваетесь. Это сообщество не поможет, если вы сообщите о проблеме и попросите нас написать код. – Sid

+0

Звучит как простая вложенная петля для меня. Куда вы боролись с ним конкретно? – amit

ответ

1

Как описано выше, 2D массив с 16 элементами будет выглядеть следующим образом:

int[][] matrix = new int[4][4]

Значение внутри этого массива не имеет значение, но реальная направленность вашего вопроса, как представляется, итерационное решением. Хотя я не буду писать весь ваш код для вас, возможно, вы могли бы подумать о такой проблеме:

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

+0

Спасибо, ребята, я смог получить решение выше. –

+0

Если это было ваше решение, пожалуйста, отметьте его как принятое, чтобы помочь другим пользователям SO – andrewdleach

Смежные вопросы