Java Program to Print Zig-Zag Matrix Number Pattern

Printing Zig-Zag Matrix Number Pattern

In the previous article, we have discussed Java Program to Print Rectangular with User Input Centre Number Pattern.

You will also observe these in this pattern:

  • String zigzag pattern in java
  • Zigzag matrix
  • Print all diagonals of a matrix java
  • Print zigzag pattern in c
  • Per page:string zigzag pattern in java
  • Print matrix in zigzag form leetcode
  • Print matrix in zig-zag fashion in java
  • Print zigzag pattern in c++
  • Java program to print matrix pattern
  • Java program to print z pattern
  • Java program to print number pattern
  • zigzag pattern program in java
  • zigzag program in java

In this article we will see how to print Zig Zag Matrix number pattern.

Example-1 

When number of row value is taken 3

1 2 4 
3 5 7
6 8 9
Example-2 

When number of row value is taken 5

1    2    4    7     11
3    5    8    12   16
6    9    13  17   20
10 14   18   21  23
15 19   22   24  25

Are you wondering how to seek help from subject matter experts and learn the Java language? Go with these Basic Java Programming Examples and try to code all of them on your own then check with the exact code provided by expert programmers.

Approach :

  • Enter the dimension of the matrix .
  • Create N*N matrix according to the dimension.
  • Divide the matrix to 2 right angle tringle .
  • Take first for loop calculate the all value of the upper part of the right angle tringle
  • Take second for loop to calculate all the vale of the lower tringle .
  • After calculating all the matrix value print it .

Java Code to Print Zig-Zag Matrix Number Pattern:

import java.io.*;
import java.util.*;

class Main
{
    public static void main(String[] args)
    {
        // taking the dimention of the square of the matrix as size
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter dimension: ")
        int size=sc.nextInt();
        int numberOfRows , numberOfColumns  ;
        
        //  N * N matrix to store the values
        int [][]arr = new int[size][size];
        arr[0][0] = 1;
        // first loop for Filling the values of upper triangle
        for ( numberOfRows = 0; numberOfRows < size; numberOfRows++) 
        {
            if (numberOfRows > 0) 
                arr[numberOfRows][0] = arr[numberOfRows - 1][0] + numberOfRows + 1;
            for ( numberOfColumns = 1;numberOfColumns < size - numberOfRows; numberOfColumns++)
                arr[numberOfRows][numberOfColumns] = arr[numberOfRows][numberOfColumns - 1] + numberOfRows + numberOfColumns;
        }
        //second loop for Filling the values of lower triangle
        arr[1][size - 1] = arr[size - 1][0] + 1;
        int div = 0;
        for ( numberOfRows = 2; numberOfRows < size; numberOfRows++) 
        {
            div = size - 2;
            for ( numberOfColumns = size - numberOfRows; numberOfColumns < size; numberOfColumns++)
            {
                if (numberOfColumns == size - numberOfRows)
                    arr[numberOfRows][numberOfColumns] = arr[numberOfRows - 1][numberOfColumns + 1] + 1;
                else 
                 {
                    arr[numberOfRows][numberOfColumns] = arr[numberOfRows][numberOfColumns - 1] + div;
                    div--;
                 }
            }
        }
         // loop for Printing the array
        for ( numberOfRows = 0; numberOfRows < size; numberOfRows++)
            {
                for ( numberOfColumns = 0; numberOfColumns < size; numberOfColumns++) 
                    System.out.print(arr[numberOfRows][numberOfColumns] + " ");
                System.out.print("\n");
            }
    }
}

Output:

Enter dimension: 3

1 2 4 
3 5 7
6 8 9

C Code to Print Zig-Zag Matrix Number Pattern:

(Static size 5 taken.)

#include <stdio.h>
#include <stdlib.h>
int main()
{
        int  size = 5, numberOfRows , numberOfColumns;
        int arr[size][size];
        arr[0][0] = 1;
        for ( numberOfRows = 0; numberOfRows < size; numberOfRows++) 
          {
            if (numberOfRows > 0) 
                arr[numberOfRows][0] = arr[numberOfRows - 1][0] + numberOfRows + 1;
            for ( numberOfColumns = 1;numberOfColumns < size - numberOfRows; numberOfColumns++)
                arr[numberOfRows][numberOfColumns] = arr[numberOfRows][numberOfColumns - 1] + numberOfRows + numberOfColumns;
          }
        arr[1][size - 1] = arr[size - 1][0] + 1;
        int div = 0;
        for ( numberOfRows = 2; numberOfRows < size; numberOfRows++) 
        {
            div = size - 2;
            for ( numberOfColumns = size - numberOfRows; numberOfColumns < size; numberOfColumns++)
            {
                if (numberOfColumns == size - numberOfRows)
                    arr[numberOfRows][numberOfColumns] = arr[numberOfRows - 1][numberOfColumns + 1] + 1;
                else 
                 {
                    arr[numberOfRows][numberOfColumns] = arr[numberOfRows][numberOfColumns - 1] + div;
                    div--;
                 }
            }
        }
        for ( numberOfRows = 0; numberOfRows < size; numberOfRows++)
            {
                for ( numberOfColumns = 0; numberOfColumns < size; numberOfColumns++) 
                    printf("%d ",arr[numberOfRows][numberOfColumns]);
                    printf("\n");
            }
    return 0;
}
Output:

1   2   4   7   11
3   5   8   12 16
6   9   13 17 20
10 14 18 21 23
15 19 22 24 25

Are you seeking professional help for coding in the Java programming language? The tutorial of Java Programming Examples for beginners and experts will strongly improve your coding skills then you can program for any logic in Java.

Try yourself:

  1. Write a program to print the matrix in a zigzag form in c?
  2. Java program to print pattern of numbers?
  3. Java program to print pattern of numbers and stars?
  4. Given an nxn matrix print the values in reverse diagonal order?
  5. Print matrix in zigzag form leetcode?
  6. Print matrix in zig zag fashion in java?

Related Java Number Pattern Programs: