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