#define SIZE 3
#define SEL 3
void bufprint(int cnt, int *pp)
{
printf("[%d] ",cnt);
}
void bufprinta(int cnt, int *pp)
{
printf("a[%d] ",cnt);
}
void bufprintb(int cnt, int *pp)
{
printf("b[%d] ",cnt);
}
void bufprintc(int cnt, int *pp)
{
printf("c[%d] ",cnt);
}
void superposition(int size, int *p, int sel)
{
int i, tmp=0;
for(i=0; i<SIZE; i++){
//세로
if(sel == 2)
{
bufprinta(i, p);
}
if(sel == 1 && i%sel == 0)
{
bufprintc(i, p);
}
if(sel == 1 && i%2 == 0)
{
bufprintb(i, p);
}
if(sel==1)
{
//가로
bufprint(i, p);
}
else {
superposition(size, p, sel-1);
}
}
printf("\n");
}
int main()
{
int i, buf[SIZE];
for(i=0; i<SIZE; i++) buf[i]=i;
superposition(SIZE, buf, SEL);
return 0;
}