anticlockwise rotation matrix

Anticlockwise Matrix Rotation Program

In this c program we are going to see how to rotate the matrix in anticlockwise by using c programming language.

Solution

#include<stdio.h> //Header file
#include<stdlib.h>//Header file
int main()
{
    int n,i,j,x,r=0;
    scanf("%d",&n);//getting input n value for matrix rotation
    int a[n][n];
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&a[i][j]);
        }
        scanf("\n");
    }
    scanf("%d",&x); //Getting Rotation angle of matrix
    if(x%90==0) //Check for angle multiples of 90 degree matrix rotation
    {
        if(x==0)
        r=0; //if x==0 the r==0 because matrix rotation will be same as input matrix.
        else
        {
            r=x/90; // determining the r value based on given angle by dividing 90 
            r=r%4; //determining again r value because matrix rotation are of four types(90,180,270,360) only. 
        }
    }
    else
    {
        printf("Invalid Matrix");// if it is not multiples of 90 degree angle then it prints invalid matrix and exit the program
        exit(0);
    }
    if(r==1) // for 90 degree matrix rotation
    {
        for(i=n-1;i>=0;i--,printf("\n"))
        {
            for(j=0;j<n;j++)
            {
                printf("%d ",a[j][i]);
            }
        }
    }
    else if(r==2) // for 180 degree matrix rotation
    {
        for(i=n-1;i>=0;i--,printf("\n"))
        {
            for(j=n-1;j>=0;j--)
            {
                printf("%d ",a[i][j]);
            }
        }
    }
    else if(r==3) // for 270 degree matrix rotation
    {
        for(i=0;i<n;i++,printf("\n"))
        {
            for(j=n-1;j>=0;j--)
            {
                printf("%d ",a[j][i]);
            }
        }
    }
    else // for 360 degree matrix rotation
    {
        for(i=0;i<n;i++,printf("\n"))
        {
            for(j=0;j<n;j++)
            {
                printf("%d ",a[i][j]);
            }
        }
    }
return 0;
}

Input 1

3
1 2 3
4 5 6
7 8 9
45

Output 1

Invalid Matrix.

Input 2

3
1 2 3
4 5 6
7 8 9
90

Output 2

Matrix Rotation 90 degree

3 6 9
2 5 8
1 4 7
Rajesh

This Blog will help you to find out the c programs solution easily and also you can able to understand the program.Please follow our blog for more useful updates.

Post a Comment (0)
Previous Post Next Post