Left shifting every element of row of matrix by 2 block.

 #include<stdio.h>


void main()

{

   int a,b;

   printf("Enter size of Matrix\n");

   scanf("%d%d", &a, &b);

   

   printf("Enter elements of %dx%d Matrix\n", a, b);

   int arr[a][b], i, j, x, y;

   for(i=0;i<a;i++)

   for(j=0;j<b;j++)

   scanf("%d", &arr[i][j]);

   

  for(i=0;i<a;i++)

   { x= *(*(arr+i)+0);

      y= *(*(arr+i)+1);

      for(j=0;j<b;j++)

   { 

      if(j>b-3)

      {  *(*(arr+i)+b-2)=x;

         *(*(arr+i)+b-1)=y;

      }

      else

      *(*(arr+i)+j)=*(*(arr+i)+j+2);

   }}

   

    for(i=0;i<a;i++)

    {

   for(j=0;j<b;j++) {

   printf("%d ", arr[i][j]);}

   printf("\n");}

}

Comments