在其对角线上方的阵列的打印元素的算法

时间:2014-03-19 16:28:58

标签: java arrays algorithm

我需要打印高于对角线的数组元素。 例如:

我们采用3x3矩阵。

1,2,3,

4,5,6,

7,8,9

现在我需要打印元素2 - 6 - 3(在此模式中)

到目前为止,我能够提出以下代码,它以正确的顺序返回值,但只能在中间对角线上方的对角线上返回。我无法提升它。

for (int j = 0 ; j <=n; j++)
{
    System.out.print(arr[j] [j+1] + " ");
}

解决

我实际上需要以对角方式遍历数组。以下是代码:

int n = arr.length;     
int m = 0;
int j = 0;

for (int k = 0; k<n; k++){
    for (int i = k; i < n ; i++)
    {
        m = i+1;
        if (j < n & m < n)
        {
            System.out.print(arr[j][m] + " ");
            j++;
            m++;
        }
    } j=0;
    System.out.println();
}

2 个答案:

答案 0 :(得分:0)

试试这个:

for (int i = 0; i < n; i++) { //n = arr.length
    for (int j=i+1; j < n; j++) 
        System.out.print(arr[i][j] + " ");
    System.out.println();
    }
}

答案 1 :(得分:0)

int i,j,k;

i=0;
while (i<n) // nXm matrix
{
    k=0;
    j=i+1;
    while (j<m && k<n)
    {
        System.out.print(arr[k][j] + " ");
        j++;
        k++;
    }

    i++;
}