Advertisement
Guest User

Untitled

a guest
Dec 13th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.06 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <time.h>
  4.  
  5. unsigned int bells_left = 0;
  6. unsigned int pos_left = 0;
  7.  
  8. char* next_char(unsigned int pos, unsigned int height_level)
  9. {
  10.     if(pos%2==0) return "_";
  11.  
  12.     if(height_level%2==0) return "/";
  13.    
  14.     return "\\";
  15. }
  16.  
  17. void print_line(unsigned int height, unsigned int height_level)
  18. {
  19.     printf("%*s/", height-height_level-1, "");
  20.  
  21.     unsigned int i = 0;
  22.     for(; i < height_level*2+1; i++)
  23.     {
  24.         printf("%s", next_char(i, height_level));
  25.     }
  26.  
  27.     printf("\\\n");
  28. }
  29.  
  30. void print_tree(unsigned int height, unsigned int bells_amount)
  31. {
  32.     bells_left = bells_amount;
  33.     pos_left = height*height;
  34.  
  35.     printf("%*s\\ /\n", height-1, "");
  36.     printf("%*s-->*<--\n", height-3, "");
  37.    
  38.     unsigned int i = 0;
  39.     for(; i < height; i++)
  40.     {
  41.         print_line(height, i);
  42.     }
  43.  
  44.     printf("%*s[___]\n", height - 2, "");
  45. }
  46.  
  47. int main(int argc, char **argv)
  48. {
  49.     if(argc < 3) return 1;
  50.  
  51.     srand(time(NULL));
  52.  
  53.     print_tree(atoi(argv[1]), atoi(argv[2]));
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement