Advertisement
Lisaveta777

Print triangles(function)

Oct 31st, 2018
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.17 KB | None | 0 0
  1. #include <stdio.h>
  2. #define SIZE 10
  3. //1.pr_it(SIZE,0,1); is it ok to pass magic numbers as arguments?
  4. //0 here opredeljaet border, 1 - order star and space goes first?
  5.  
  6.  
  7.  
  8. void pr_it(int,int,int);//size, border, order(' ','*')
  9.  
  10. int main()
  11. {
  12.     int i,j;
  13.     pr_it(SIZE,0,1);//last argument is clue of which symbol comes first * or ' '
  14.     pr_it(SIZE,1,1);//middle argument- clue to formula of border-value
  15.     pr_it(SIZE,2,0);
  16.     pr_it(SIZE,3,0);
  17.     printf("\n\n\n");
  18.  
  19.     return 0;
  20. }
  21. void pr_it(int s,int flag,int order)
  22. {
  23.     int i,j,border;//border between ' ' and '*'
  24.     char c1,c2;
  25.     c1 = (order)? '*':' ';
  26.     c2 = (order)? ' ':'*';
  27.  
  28.     for(i=0;i<s;i++)
  29.     {
  30.         switch(flag)//gives value to border, accordingly to what have being
  31.         {           //passed to function as flag
  32.             case 0: border = SIZE -i;  break;
  33.             case 1: border = i+1;      break;
  34.             case 2: border = SIZE -i-1;break;
  35.             case 3: border = i;        break;
  36.  
  37.         }
  38.         for(j=0;j<s;j++)
  39.         {
  40.             printf("%c",j<border? c1: c2);//border is the only complicated value here
  41.         }
  42.         printf("\n");
  43.     }
  44.  
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement