#define LINE_PATTERN
"****************************************"
"****************************************"
void draw_otho_triangle(int n, int v, int space_n = 1, int space_v = 0)
{
char line[] = LINE_PATTERN;
char* ptr = line + sizeof line - 2;
if (v < 0)
ptr += n * v - v;
else
ptr[-n * v] = 0;
for(; *ptr; ptr -= v, space_n += space_v)
{
printf("%*c", space_n);
puts(ptr);
}
}
void draw_diamond(int n)
{
draw_otho_triangle(n , 2, n , -1);
draw_otho_triangle(n - 1, -2, 1 + 1, 1);
}
선물이다.
보지말걸 - DCW
공백 그리는 기능 떼어내면 속도도 니 코드 보다 빨라.
%*c는 뭔가요?
draw_otho_triangle(7, 1); draw_otho_triangle(7, -1); draw_diamond(7); 니가 오늘 한거 종합.
찾아봐.
abs나 조건문, 곱하기 없인 힘드나요?
그리는 루프가 간단하다는게 뭘 의미하겠냐. 키둑.
루프 안에서 아무것도 안했다는게 중요한거지 if 는 없앨수 있지만 결국 계산량만 2배.
뭐 다이아몬드까지만 할거면 당연 곱셈도 없앨 수 있음.
즉, abs, 조건문, 곱하기 다 없앨 수 있음.
남자는 미분이야.
ㅅㅅㅅ 가 가르쳐 준거 반영해서 수정~
http://dblack.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다.