1 #include <iostream>
2
3 using namespace std;
4
5 const int Len = 66;
6 const int Divs = 6;
7
8 void Subdivide(char ar[], int low, int high, int level);
9
10 extern int main01()
11 {
12 char ruler[Len];
13 int i;
14 for(i = 1; i < Len - 2; i ++)
15 ruler[i] = ' ';
16 ruler[Len-1] = '\0';
17 int max = Len-2;
18 int min = 0;
19 ruler[max] = ruler[min] = '|';
20 cout << ruler << endl;
21
22 for(i = 1; i < Divs; i++)
23 {
24 Subdivide(ruler, min, max, i);
25 cout << ruler << endl;
26 for( int j = 1; j < Len - 2 ; j ++)
27 {
28 ruler[j] = ' ';
29 }
30 }
31 return 0;
32 }
33
34
35 void Subdivide(char ar[], int low, int high, int level)
36 {
37 if(level == 0)
38 return;
39 int mid = (low + high) / 2;
40 ar[mid] = '|';
41
42 Subdivide(ar, low, mid, level-1);
43 Subdivide(ar, mid, high, level-1);
44 }