Мне нужно построить массив 2d с N, M строками и столбцами (N & M < = 5), тогда пользователь вводит определенный индекс (местоположение), как 2, 3 (матрица [2] [3]) предполагается, что два числа находятся в границах матрицы. С этого момента я должен найти сумму левой и правой диагонали, которая проходит через число, однако число исключается из суммы.найти сумму диагональных элементов из заданного индекса в массиве 2d
Так, например, 2d массив туАггау [3] [3]
*1* 15 *2*
2 *71* 8
*5* 22 *5*
Таким образом, пользователь входит 1,1, что является туАггау [1] [1], в этом случае число 71, то сумма будет 1 + 5 + 2 + 5 ... И хорошо, моя проблема в том, как я могу найти эти диагонали, не выходя из пределов.
For the left top i would go:
row--
column--
while(row >= 0|| column >= 0)
For left bottom:
row++
colum++
while(row < N || column < M)
for right top:
row--
column++
while(row >= 0 || column < M)
for right bottom:
row++
column--
while(row < N || column >=0)
(это плохо написана псевдо-код, извините)
Он отлично работает, когда я вхожу номера, которые не в верхней или нижней строке, но и в случаях, когда они расположены там мой программа останавливается.
Без какого-либо кода, который будет отправлен, я проконсультируюсь с моим хрустальным шаром, и он ответит строкой 42. Поэтому, пожалуйста, разместите минимальный код, который демонстрирует проблему. –