Как пройти 2D-массив через вторичную диагональ?

Как я уже сказал, я хотел бы «прокрутить» многомерный массив через вторичную диагональ, мой желаемый ввод: (Случай a) [Это может быть либо в C ++, либо в Java, это не имеет значения]

ПРИМЕЧАНИЕ + РЕДАКТИРОВАТЬ: порядок не случайный. Он начинается с 1 внизу и идет вверх.

Это возможно?

Если нет, то хотя бы половина кода? (Дело Б)

// Case a:
16 15 13 10
14 12 9 6
11 8 5 3
7 4 2 1

// Case b:
0 0 0 1
0 0 9 6
0 8 5 3
7 4 2 1

1

Решение

Вы можете сделать это с помощью простого цикла (это Java):

int size = 4;
int[][] matrix = new int[size][size];
// . . .
for (int i = 0; i < size; ++i) {
doSomethingWith(matrix[i][size - i - 1]);
}
3

Другие решения

  int[][] a={{7,6,4,1},{5,3,9,6},{2,8,5,3},{7,4,2,1}};
for(int i=0; i<a.length; i++)
{
for(int j=a[i].length-1; j>=a[i].length-(i+1); j--)
{
System.out.print(a[i][j]+",");
}
System.out.println();
}
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector