Given a square matrix of order n*n, we need to print elements of the matrix in Z form
Examples:
Input : mat[][] = {1, 2, 3,
4, 5, 6,
7, 8, 9}
Output : 1 2 3 5 7 8 9
Input : mat[][] = {5, 19, 8, 7,
4, 1, 14, 8,
2, 20, 1, 9,
1, 2, 55, 4}
Output: 5 19 8 7 14 20 1 2 55 4
Java
import java.lang.*;
import java.io.*;
class GFG {
public static void diag( int arr[][], int n)
{
int i = 0 , j, k;
for (j = 0 ; j < n - 1 ; j++) {
System.out.print(arr[i][j] + " ");
}
k = 1 ;
for (i = 0 ; i < n - 1 ; i++) {
for (j = 0 ; j < n; j++) {
if (j == n - k) {
System.out.print(arr[i][j] + " ");
break ;
}
}
k++;
}
i = n - 1 ;
for (j = 0 ; j < n; j++)
System.out.print(arr[i][j] + " ");
System.out.print("\n");
}
public static void main(String[] args)
{
int a[][] = { { 4 , 5 , 6 , 8 },
{ 1 , 2 , 3 , 1 },
{ 7 , 8 , 9 , 4 },
{ 1 , 8 , 7 , 5 } };
diag(a, 4 );
}
}
|
Output:4 5 6 8 3 8 1 8 7 5
Time Complexity: O(n*n)
Auxiliary Space: O(1)
Please refer complete article on Program to Print Matrix in Z form for more details!