"%d\n"
. unique_ptr<int[]>
Она - балансирует на грани "сделать, не делая полноценный парсер грамматик"
void DrawCurve(char* output, int stride, int order) {
if (order == 0) {
output[0] = output[stride+1] = '/';
output[1] = output[stride] = '\\';
return;
}
int sz = (3 << (order - 1)) - 1;
DrawCurve(output, stride, order-1);
DrawCurve(output+(sz+1)*stride, stride, order-1);
DrawCurve(output+sz+1, stride, order-1);
DrawCurve(output+(sz+1)*stride+sz+1, stride, order-1);
output[(sz-1)*stride+sz-1] = ' ';
output[(sz+1)*stride+sz-1] = ' ';
output[(sz-1)*stride+sz+1] = ' ';
output[(sz+1)*stride+sz+1] = ' ';
for (int i = 0; i < 2*sz+1; ++i) {
output[i*stride + sz] = output[sz*stride + i] = ' ';
}
output[sz*stride+sz-1] = '[';
output[sz*stride+sz+1] = ']';
output[(sz-2)*stride+sz] = '_';
output[(sz+1)*stride+sz] = '_';
}
int main()
{
const int order = 3;
const int stride = 3 << order ;
const int height = (3 << order) - 1;
char field[stride*height];
memset(field, 0, sizeof(field));
DrawCurve(field, stride, order);
for (int i = 0; i < height; ++i) {
cout << field + i*stride << "\n";
}
return 0;
}
#357 = CIRCLE ( 'NONE', #49, 20.00000000000000355 ) ;