fork download
  1. #include <array>
  2. #include <iostream>
  3.  
  4. constexpr std::size_t kSize = 10;
  5.  
  6. void PrintHalf(char *a, char *b, char *c, char *buffer, std::size_t size) {
  7. while (b != c) {
  8. --a;
  9. *a = '/';
  10. *b = '\\';
  11. std::cout.write(buffer, size);
  12. *b = ' ';
  13. *a = ' ';
  14. ++b;
  15. }
  16. }
  17.  
  18. int main() {
  19. std::array<char, kSize * 2 + 1> buffer;
  20. buffer.fill(' ');
  21. buffer.back() = '\n';
  22.  
  23. auto first = buffer.begin();
  24. auto mid = first + kSize;
  25. auto last = mid + kSize;
  26. auto size = buffer.size();
  27.  
  28. PrintHalf(mid, mid, last, first, size);
  29. PrintHalf(last, first, mid, first, size);
  30. }
Success #stdin #stdout 0s 3096KB
stdin
Standard input is empty
stdout
         /\         
        /  \        
       /    \       
      /      \      
     /        \     
    /          \    
   /            \   
  /              \  
 /                \ 
/                  \
\                  /
 \                / 
  \              /  
   \            /   
    \          /    
     \        /     
      \      /      
       \    /       
        \  /        
         \/