void printSpiral(struct node *root,int level, bool ltr){
  if (root == NULL) return;
  if (level == 1)
    printf("%d ", root->key );
  else if (level > 1){
    if (ltr){
      printSpiral(root->left, level-1, ltr);
      printSpiral(root->right, level-1, ltr);
    }
    else{
      printSpiral(root->right, level-1, ltr);
      printSpiral(root->left, level-1, ltr);
    }
  }
}
void printSpiralUtil(struct node *root){
  int h = height(root);
  bool ltr = false;
  for (int i = 1; i <= h; i++){
    printSpiral(root, i, ltr);
    ltr = !ltr;
  }
}
Beispiel #3
0
int main(void)
{
    printf("Enter the spiral number:");
    scanf("%d",&n);
    x=0;
    y=0;
    storeNum(n);
    printSpiral();
    return 0;
}
Beispiel #4
0
int main() {

    /* Enter your code here. Read input from STDIN. Print output to STDOUT */    
    int array[6][6];
    int i,j;
    int maxSum = INT_MIN;
    int sum = 0;
    
    for (i = 0; i < 6; i++)
        {
        for (j = 0; j < 6; j++)
            {
	      array[j][i] = (i + 1) * (j + 1);
        }
    }

    printSpiral(array);
}
Beispiel #5
0
int main(int argc , char *argv[])
{
	int **matrix = NULL , size, x, y; 

  if(argc < 2)
  {
	 printf("Enter the size of matrix: ");
	 scanf("%d",&size);
	}
	else
	{
	 size = atoi(argv[1]);
	}
	
	if(size<=0)
	{
	 printf("The size entered is out of range.\n");
	 goto failure;
	}
	
  if((matrix = (int**) malloc(size * sizeof(int*)))==NULL)
  {
    perror(__FILE__ ": Allocating memory to 'matrix' ");
    goto failure;
  }
  
  matrix[0] = NULL;
  
  if((matrix[0] = (int*) malloc(size * size * sizeof(int)))==NULL)
  {
    perror(__FILE__ ": Allocating memory to 'matrix' ");
    goto failure;
  }
  
  for(x = 1;x < size ; x++)
    matrix[x] = matrix[x-1] + size;
    

  for(x = 0;x < size ; x++)
    for (y=0; y<size ;y++)
      matrix[x][y] = y + size * x;
  
   
  printf("\nMatrix is :\n");
	printNormal(matrix, size);

  printf("\nSpiral form is :\n");
  printSpiral(matrix, size);

  printf("\nHelical form is :\n");
  printHelical(matrix, size);

  free(*matrix);
  free(matrix);
   
	return 0;
	
failure:

  free(*matrix);
  free(matrix);
  
  return 1;  
}