# Print Left Diagonal

• 02-05-2012, 12:13 PM
BlueBird
Print Left Diagonal
I've been trying to print the left diagonal of a matrix. But my inner j loop seems to be stuck at the value of (n-1) in my debugger.

System.out.println("\nLeft Diagonal:");
for(int i=0;i<m;i++)
{
for(int j=n-1;j>=0;j--)
{
System.out.print(x[i][j]+" ");
break;
}
}

If someone can tell me what's wrong it'd be great.
• 02-05-2012, 02:45 PM
JosAH
Re: Print Left Diagonal
What is a 'left diagonal' of a matrix? Does the matrix need to be a square matrix? Do you mean a lower/upper triangular matrix?

kind regards,

Jos
• 02-05-2012, 02:54 PM
Norm
Re: Print Left Diagonal
What is the value of n? Does it allow the loop to iterate?
• 02-06-2012, 11:27 AM
BlueBird
Re: Print Left Diagonal
For example my matrix is say,
1 2 3
4 5 6
7 8 9
I want to print "3 5 7" which is the left diagonal of the matrix. Yes, the matrix has to be a square matrix.
m is the number of rows while n is the number of columns. Since the left diagonal has the positions "02 11 20" in a 3 into 3 matrix i was trying to get the
loop controlling the row index(outer i loop) to go on increasing from 0 to m-1 and the loop controlling the column index(inner j loop) to go on decreasing
from n-1 to 0. And since its a square matrix the value of n and m will be equal. Sorry for the ambiguity.
• 02-06-2012, 11:39 AM
JosAH
Re: Print Left Diagonal
Because your matrix is square we can forget about m (it equals n); for an element in row i, we have to print M[ i ][ m-1-i ] (check this).

kind regards,

Jos
• 02-07-2012, 02:40 PM
BlueBird
Re: Print Left Diagonal
Oooh. Yess. :) Got that. Thanks a lot.