
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 (n1) in my debugger.
System.out.println("\nLeft Diagonal:");
for(int i=0;i<m;i++)
{
for(int j=n1;j>=0;j)
{
System.out.print(x[i][j]+" ");
break;
}
}
If someone can tell me what's wrong it'd be great.

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

Re: Print Left Diagonal
What is the value of n? Does it allow the loop to iterate?

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 m1 and the loop controlling the column index(inner j loop) to go on decreasing
from n1 to 0. And since its a square matrix the value of n and m will be equal. Sorry for the ambiguity.

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 ][ m1i ] (check this).
kind regards,
Jos

Re: Print Left Diagonal
Oooh. Yess. :) Got that. Thanks a lot.