C++ Program to Print Matrix in Z form

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
filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to print a square matrix in Z form
#include <bits/stdc++.h>
using namespace std;
const int MAX = 100;
  
// Function to print a square matrix in Z form
void printZform(int mat[][MAX], int n)
{
    // print first row
    for (int i = 0; i < n; i++)
        cout << mat[0][i] << " ";
  
    // Print diagonal
    int i = 1, j = n - 2;
    while (i < n && j >= 0) // print diagonal
    {
        cout << mat[i][j] << " ";
        i++;
        j--;
    }
  
    // Print last row
    for (int i = 1; i < n; i++)
        cout << mat[n - 1][i] << " ";
}
  
// Driver function
int main()
{
    int mat[][MAX] = { { 4, 5, 6, 8 },
                       { 1, 2, 3, 1 },
                       { 7, 8, 9, 4 },
                       { 1, 8, 7, 5 } };
    printZform(mat, 4);
    return 0;
}

chevron_right


Output:

4 5 6 8 3 8 1 8 7 5

Please refer complete article on Program to Print Matrix in Z form for more details!



My Personal Notes arrow_drop_up


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.