fork(2) download
  1. #include <iostream>
  2. #define STAR_WIDTH 7
  3. #define TREE_WIDTH 10
  4. #define TRUNK_WIDTH 3
  5. #define TRUNK_HEIGHT 3
  6. #define DISPLAY_WIDTH 25
  7.  
  8. using namespace std;
  9.  
  10. void triangle(int base) {
  11. int initial_width = base%2;
  12. if (initial_width == 0) initial_width = 2;
  13. for (int i = initial_width; i <= base; i+=2) {
  14. for (int j=0; j<(DISPLAY_WIDTH-i)/2; j++) {
  15. cout << " ";
  16. }
  17. for (int j=0; j<i; j++) {
  18. cout << "*";
  19. }
  20. cout << "\n";
  21. }
  22. }
  23.  
  24. void rectangle(int height, int width) {
  25. for (int i=0; i<height; i++) {
  26. for (int j=0; j<(DISPLAY_WIDTH-width)/2; j++) {
  27. cout << " ";
  28. }
  29. for (int j=0; j<width; j++) {
  30. cout << "*";
  31. }
  32. cout << "\n";
  33. }
  34. }
  35.  
  36. int main() {
  37. triangle(STAR_WIDTH);
  38. triangle(TREE_WIDTH);
  39. rectangle(TRUNK_WIDTH, TRUNK_HEIGHT);
  40. return 0;
  41. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
            *
           ***
          *****
         *******
           **
          ****
         ******
        ********
       **********
           ***
           ***
           ***