Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. //Spirals
  2. //┌─────────┐
  3. //│┌───────┐│
  4. //││┌─────┐││
  5. //│││┌───┐│││
  6. //││││┌─┐││││
  7. //│││││└┘││││
  8. //││││└──┘│││
  9. //│││└────┘││
  10. //││└──────┘│
  11. //│└────────┘
  12. //└──────────
  13.  
  14. #include <stdio.h>
  15. #include <stdint.h>
  16.  
  17. #define SIZE 24
  18.  
  19. int main()
  20. {
  21. const int32_t dx[] = { 0, -1, 0, 1 }, dy[] = { -1, 0, 1, 0 };
  22. int32_t x = SIZE - 1, y = SIZE;
  23. uint32_t **Grid = new uint32_t*[SIZE];
  24. for( size_t i = 0; i < SIZE; i++ )
  25. {
  26. Grid[i] = new uint32_t[SIZE];
  27. }
  28. for( size_t i = 0, dir = 0; i < (SIZE << 1) - 1; ++i, dir = i & 3 )
  29. {
  30. for( size_t j = 0, js = ((SIZE << 1) - i) / 2; j < js; ++j )
  31. {
  32. Grid[x += dx[dir]][y += dy[dir]] = j + 1 == js ? "\xC0\xDA\xBF\xd9"[dir] : "\xC4\xB3"[dir & 1];
  33. }
  34. }
  35. for( size_t i = 0; i < SIZE*SIZE; i++ )
  36. {
  37. putchar(Grid[i / SIZE][i % SIZE]);
  38. (i + 1) % SIZE == 0 ? putchar('\n') : 0;
  39. }
  40. for( size_t i = 0; i < SIZE; i++ )
  41. {
  42. delete[] Grid[i];
  43. }
  44. delete[] Grid;
  45. return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement