fork download
  1. #include<iostream>
  2. #include<vector>
  3. using namespace std;
  4.  
  5. vector<vector<int>> operasi_hori(vector<vector<int>>& me){
  6. int N=me.size();
  7. int M=me[0].size();
  8. for(int i=0;i<N/2;i++){
  9. for(int j=0;j<M;j++){
  10. swap(me[i][j], me[i+N-1][j]);
  11. }
  12. }
  13. return me;
  14. }
  15.  
  16. vector<vector<int>> operasi_ver(vector<vector<int>>& me){
  17. int N=me.size();
  18. int M=me[0].size();
  19. for(int i=0;i<N;i++){
  20. for(int j=0;j<M/2;j++){
  21. swap(me[i][j], me[i][j+N-1]);
  22. }
  23. }
  24. return me;
  25. }
  26.  
  27. vector<vector<int>> operasi_90(vector<vector<int>>& me){
  28. int N=me.size();
  29. int M=me[0].size();
  30. for(int i=0;i<N;i++){
  31. for(int j=0;j<M/2;j++){
  32. swap(me[i][j], me[j][i]);
  33. }
  34. }
  35. return me;
  36. }
  37.  
  38. int main(){
  39. int t[100][100],y[100][100],x,M,N;
  40. cin>>N>>M>>x;
  41.  
  42. vector<vector<int>> me(N, vector<int>(M));
  43. for(int i=0;i<N;i++){
  44. for(int j=0;j<M;j++){
  45. cin>>me[i][j];
  46. }
  47. }
  48.  
  49. while(x!=0){
  50. string op;
  51. cin>>op;
  52.  
  53. if(op=="_"){
  54. operasi_hori(me);
  55. }else if(op=="|"){
  56. operasi_ver(me);
  57. }else if(op=="90"){
  58. operasi_90(me);
  59. }
  60.  
  61. x--;
  62. }
  63.  
  64. N=me.size();
  65. M=me[0].size();
  66.  
  67. for(int i=0;i<N;i++){
  68. for(int j=0;j<M;j++){
  69. cout<<me[i][j]<<" ";
  70. }cout<<endl;
  71. }
  72. }
Success #stdin #stdout 0s 5276KB
stdin
3 3 1
1 2 3
4 5 6
7 8 9
90
stdout
1 4 7 
2 5 6 
3 8 9