OneCompiler

LEFT ROTATE MATRIX K TIMES

173

left rotate matrix K times

C++ code.

#include <bits/stdc++.h>
#include<math.h>
using namespace std;
vector<vector<int>> matrix(int k,vector<vector<int>> a){
  int n=a.size();
  int m=a[0].size();
  vector<vector<int>> b(n,vector<int>(m));
  for(int i=0;i<n;i++){
    int c=0;
    for(int j=k;j<m;j++){
      b[i][c++]=a[i][j];
    }
    for(int j=0;j<k;j++){
      b[i][c++]=a[i][j];
    }
  }
  for(int i=0;i<n;i++){
    for(int j=0;j<m;j++){
      a[i][j]=b[i][j];
      printf("%d ",b[i][j]);
    }
    printf("\n");
  }
  printf("%d %d\n",n,m);
  return a;
}
int main() 
{
  int n,m,k;
  scanf("%d%d%d",&n,&m,&k);
  vector<vector<int>> a(n,vector<int>(m));
  for(int i=0;i<n;i++){
    for(int j=0;j<m;j++){
      scanf("%d",&a[i][j]);
    }
  }
  // int k;
  // scanf("%d",&k);
  // printf("%d %d\n",a.size,a[0].size);
  vector<vector<int>> mat=matrix(k,a);
  for(int i=0;i<n;i++){
    for(int j=0;j<m;j++){
      printf("%d ",mat[i][j]);
    }
    printf("\n");
  }
}