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
Post a Comment