Program to fill a square matrix of size ‘n*n” in a circular fashion (clockwise) with natural numbers from 1 to n*n, taking ‘n’ as input.

Program to fill a square matrix of size ‘n*n” in a circular fashion (clockwise) with natural numbers from 1 to     n*n, taking ‘n’ as input.

import java.util.*;
class Circular_Matrix
    {
     //start of class
        public static void main()
        {
            Scanner sc=new Scanner(System.in);
            System.out.print("Enter the number of elements : ");
            int n=sc.nextInt();

            int A[][]=new int[n][n];
            int k=1, c1=0, c2=n-1, r1=0, r2=n-1;

            while(k<=n*n)
                {
                    for(int i=c1;i<=c2;i++)
                    {
                        A[r1][i]=k++;
                    }

                    for(int j=r1+1;j<=r2;j++)
                    {
                        A[j][c2]=k++;
                    }

                    for(int i=c2-1;i>=c1;i--)
                    {
                        A[r2][i]=k++;
                    }

                    for(int j=r2-1;j>=r1+1;j--)
                    {
                        A[j][c1]=k++;
                    }

                 c1++;
                 c2--;
                 r1++;
                 r2--;
                }
 
            /* Printing the Circular matrix */
            System.out.println("The Circular Matrix is:");
            for(int i=0;i<n;i++)
                {
                    for(int j=0;j<n;j++)
                        {
                            System.out.print(A[i][j]+ "\t");
                        }
                 System.out.println();
                }
        }
    }//end of class

OUTPUT---
Enter the number of elements : 6
The Circular Matrix is:
1 2 3 4 5 6
20 21 22 23 24 7
19 32 33 34 25 8
18 31 36 35 26 9
17 30 29 28 27 10
16 15 14 13 12 11

Comments

Popular posts from this blog

Sort Boundary Elements Of A Matrix

Lucky Number In Java ISC