fork download
  1. #include <cstdio>
  2.  
  3. int main()
  4. {
  5. const int w = 10, h = 10;
  6.  
  7. int t[h][w];
  8. int i = 0, j = 0, k = 2;
  9. int dir = 1;
  10.  
  11. if (w > 0 && h > 0)
  12. t[0][0] = 1;
  13.  
  14. while (k <= w * h)
  15. if (dir == 1) // z gury na dul
  16. {
  17. ++(j + 1 < w ? j : i);
  18.  
  19. while (i < h && j >= 0)
  20. t[i++][j--] = k++;
  21.  
  22. i--, j++;
  23. dir = 2;
  24. }
  25. else // z dolu do gury
  26. {
  27. ++(i + 1 < h ? i : j);
  28.  
  29. while (i >= 0 && j < w)
  30. t[i--][j++] = k++;
  31.  
  32. i++, j--;
  33. dir = 1;
  34. }
  35.  
  36. for (int i = 0; i < h; i++)
  37. {
  38. for (int j = 0; j < w; j++)
  39. printf("%d ", t[i][j]);
  40. printf("\n");
  41. }
  42.  
  43. return 0;
  44. }
Success #stdin #stdout 0s 3344KB
stdin
Standard input is empty
stdout
1 2 6 7 15 16 28 29 45 46 
3 5 8 14 17 27 30 44 47 64 
4 9 13 18 26 31 43 48 63 65 
10 12 19 25 32 42 49 62 66 79 
11 20 24 33 41 50 61 67 78 80 
21 23 34 40 51 60 68 77 81 90 
22 35 39 52 59 69 76 82 89 91 
36 38 53 58 70 75 83 88 92 97 
37 54 57 71 74 84 87 93 96 98 
55 56 72 73 85 86 94 95 99 100