Exemplo n.º 1
0
int main()
{
  int ary[] ={1,2,3,4,5,6,7,8,9,10}; 
  print_ary(ary, 10);
  reorder_ary_with_odd_even_2(ary, 10, is_even);
  print_ary(ary, 10);

  return 0;
}
int main() {
  int size_of_ary=DESIREDSUM/2;
  int result, storage_ary[size_of_ary];
  printf("%p\n",storage_ary);
  initialize_ary_to_zero(storage_ary,size_of_ary);
  print_ary(storage_ary,size_of_ary);
  printf("\n");
}
Exemplo n.º 3
0
int main()
{
    int i, num, minx, miny, maxx, maxy, line, sense;
    int xinc[4][2], yinc[4][2];
    
    while(scanf("%d", &n), n > 0)
    {
        xinc[0][0] =  1;    yinc[0][0] =  0;     
        xinc[0][1] =  1;    yinc[0][1] = -1;    
        xinc[1][0] = -1;    yinc[1][0] =  1;     
        xinc[1][1] =  1;    yinc[1][1] =  1;     
        xinc[2][0] = -1;    yinc[2][0] = -1;    
        xinc[2][1] = -1;    yinc[2][1] =  0;     
        xinc[3][0] =  1;    yinc[3][0] =  0;     
        xinc[3][1] = -1;    yinc[3][1] =  0;     
    
        num = 1;
        for( i = 1; i <= n; i ++)
            num = num * 2;
    
        dofold(1, num - 1, LEFT);
    
        minx = 0;
        miny = 0;
        maxx = 0;
        maxy = 0;
        grid[0].x = 0;
        grid[0].y = 0;
        sense = 0;
        
        for(i = 2; i <= num; i ++)
        {
            grid[i-1].x = grid[i - 2].x + xinc[sense][fold[i - 2]-LEFT];
            grid[i-1].y = grid[i - 2].y + yinc[sense][fold[i - 2]-LEFT];
            
            if (fold[i - 2] == LEFT)
                sense = (sense + 1) % 4;
            else
                sense = (sense + 3) % 4;
    
            if (grid[i-1].x > maxx)
                maxx = grid[i-1].x;
            
            if (grid[i-1].x < minx)
                minx = grid[i-1].x;
    
            if (grid[i-1].y > maxy)
                maxy = grid[i-1].y;
                
            if (grid[i-1].y < miny)
                miny = grid[i-1].y;
        }
    
        for( line = maxy; line >= miny; line --)
        {
            for( i = 1; i <= maxx - minx + 1; i ++)
                out[i-1] = ' ';
            
            for( i = 1; i <= num; i ++)
            {
                if (grid[i-1].y == line)
                {
                    if (i & 1)
                        out[grid[i-1].x - minx] = '_';
                    else
                        out[grid[i-1].x - minx] = '|';
                }
            }
            print_ary(maxx - minx + 1);
        }
        printf("^\n");
    }
    return 0;
}