fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. const int MAX_SIZE = 50;
  5.  
  6. int main() {
  7. int n, m, mt[MAX_SIZE + 1][MAX_SIZE + 1],sb[MAX_SIZE + 1][MAX_SIZE + 1];
  8. cin >> n >> m;
  9. for (int i = 1; i <= n; ++i) {
  10. for (int j = 1; j <= m; ++j) {
  11. cin >> mt[i][j];
  12. }
  13. }
  14. int i, j, l;
  15. cin >> i >> j >> l;
  16. int c = i + l - 1, d = j + l - 1;
  17. if (d == m) {
  18. for (int a = i; a <= c; ++a) {
  19. for (int b = j; b <= d; ++b) {
  20. sb[d - b + j - 1][a + 1] = mt[a][b];
  21. }
  22. }
  23. }else {
  24. for (int a = i; a <= c; ++a) {
  25. for (int b = j; b <= d; ++b) {
  26. sb[d - b + j][a] = mt[a][b];
  27. }
  28. }
  29. }
  30. for (int a = i; a <= c; ++a) {
  31. for (int b = j; b <= d; ++b) {
  32. mt[a][b] = sb[a][b];
  33. }
  34. }
  35. for (int a = 1; a <= n; ++a) {
  36. for (int b = 1; b <= m; ++b) {
  37. cout << mt[a][b] << " ";
  38. }
  39. cout << "\n";
  40. }
  41. return 0;
  42. }
Success #stdin #stdout 0.01s 5556KB
stdin
5 4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
3 2 3
stdout
1 2 3 4 
5 6 7 8 
9 0 0 10 
13 0 0 0 
17 0 0 0