【问题标题】:multiply diagonal values of a matrix in javajava中矩阵的对角线值相乘
【发布时间】:2016-03-19 00:24:54
【问题描述】:

我想将矩阵的 2 条对角线相乘。但我无法得到矩阵的对角线。就像在给定的代码中,两条对角线是d1=5*5*9。和d2=3*5*7 然后我将使用 d1d2 值进行进一步处理。

怎么做。 注意:矩阵大小可以像这里的 3x3 一样不同,但它可以是 5x5

private static int diagonalMultiply(int [][]arr1){
    int[][]  arr= {
       {5,2,3},
       {4,5,6},    
       {7,8,9}
   };
for ( int x = 0; x < arr.length; x++) //stepping along the x axis again.
{
    for ( int y = 0; y < arr[x].length; y++) // stepping along the y axis.
    {
        System.out.print(arr[x][y]+" ");
    }    
}
    return 0;
}

【问题讨论】:

    标签: java for-loop matrix multidimensional-array int


    【解决方案1】:

    N×N 矩阵的对角线有 N 个元素。一对嵌套循环,每个循环从 0N-1,覆盖 N2 个元素。这意味着您需要一个循环,而不是两个。

    可以在一个循环中检索两条对角线。下降对角线的索引是(i, i),而上升对角线的索引是(N-i-1, i)

    int N = arr.length;
    for ( int i = 0; i < N ; i++) {
        System.out.println(arr[i][i]+" "+arr[N-i-1][i]);
    }
    

    Demo.

    【讨论】:

      猜你喜欢
      • 2013-07-18
      • 1970-01-01
      • 2014-03-09
      • 1970-01-01
      • 2013-03-21
      • 1970-01-01
      • 2014-07-17
      • 1970-01-01
      • 2019-10-02
      相关资源
      最近更新 更多