Advertisement
chunkyguy

sid

Jan 5th, 2011
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.66 KB | None | 0 0
  1. /*
  2.     author: Sid
  3.     sid@whackylabs.com
  4.    
  5.     Prints binary tree out of strings
  6.  */
  7.  
  8. #include<stdio.h>
  9. #include <string.h>
  10. #include <math.h>
  11.  
  12. int main(int argc, char **argv)
  13. {
  14.     int d,s; /*depth, spaces*/
  15.     int i,j,k,m,gap,j_val;
  16.     k = 0;
  17.     if(argc != 2)
  18.     {
  19.         printf("Usage: %s <feed-something>\n",argv[0]);
  20.         return;
  21.     }
  22.     for(d = 0; pow(2,d)-1 < strlen(argv[1]); d++)
  23.         ;
  24.     s = (int)pow(2,d)-1;
  25.     for(i = 0; i < d; i++, printf("\n"))
  26.         for(j_val = (int)pow(2,d-i-1)-1,gap = (int)pow(2,d-i),m=0, j = 0; j < s;j++)
  27.         {
  28.             if(j == (j_val + gap * m) && k < strlen(argv[1]))
  29.             {  
  30.                 printf("%c",argv[1][k++]);
  31.                 m++;
  32.             }
  33.             else
  34.                 printf(" ");
  35.         }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement