SPIRAL MATRIX IN CLOCKWISE DIRECTION

 SPIRAL MATRIX IN CLOCKWISE DIRECTION

I/P:

3 3

1 2 3

4 5 6

7 8 9


O/P:

4 1 2

7 5 3

8 9 6


SOLUTION:

package Arrays;
import java.util.*;
public class SpiralClockwise {
    public static void main(String args[])
    {
        Scanner sc=new Scanner(System.in);
        int iR=sc.nextInt();
        int iC=sc.nextInt();
        int t=iR,t1=iC;
        int arr[][]=new int[iR][iC];
        for(int i=0;i<iR;i++)
        {
            for(int j=0;j<iC;j++)
            {
                arr[i][j]=sc.nextInt();
            }
        }
        int r=0,c=0;int prev=0,curr=0;
        while(r<iR && c<iC)
        {
            if(r+1==iR || c+1==iC)
               break;
            prev=arr[r+1][c];
            for(int i=c;i<iC;i++)
            {
                curr=arr[r][i];
                arr[r][i]=prev;
                prev=curr;
            }
            r++;
            for(int i=r;i<iR;i++)
            {
                curr=arr[i][iC-1];
                arr[i][iC-1]=prev;
                prev=curr;
            }
            iC--;
            for(int i=iC-1;i>=c;i--)
            {
                curr=arr[iR-1][i];
                arr[iR-1][i]=prev;
                prev=curr;
            }
            iR--;
            for(int i=iR-1;i>=r;i--)
            {
                curr=arr[i][c];
                arr[i][c]=prev;
                prev=curr;
            }
            c++;


        }
      
        for(int i=0;i<t;i++)
        {
            for(int j=0;j<t1;j++)
            {
                System.out.print(arr[i][j]+" ");
            }
            System.out.println();
        }

    }
}

Comments

Popular posts from this blog

PROGRAM TO FIND FACTORIAL OF A NUMBER USING RECURSION

PROGRAM TO FIND THE COUNT OF PARTICULAR NUMBER IN AN ARRAY

TELEPHONE BOOK USING HASHMAP