如何通过辅助对角线浏览2D阵列?

时间:2012-10-16 15:29:53

标签: java c++ multidimensional-array diagonal

正如我所说的,我想通过辅助对角线“滚动”通过多维数组,我想要的输入是:(案例a)[它可以是C ++或Java,也没关系]

注意+编辑:订单不是随机的。它从底部的1开始并向上移动。

这可能吗?

如果不是那么至少有一半的代码? (案例b)

// 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

2 个答案:

答案 0 :(得分:3)

你可以通过一个简单的循环(这是Java)来完成这个:

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

答案 1 :(得分:1)

  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();
  }