Exemple #1
0
int	search_coli(t_scene *scene, t_cam *cam, t_point *point)
{
  int		color;
  double	k;
  t_object	*tmp;
  t_object	*tmp2;
  t_point	*p;

  tmp2 = scene->obj;
  p = rotate(point, cam);
  k = search_k(scene, cam, p, &tmp);
  if (k <= 0.0)
    color = 0;
  else
    {
      if (tmp && search_attr(tmp->attr, COL_STR) != NULL)
	color = my_getnbr(search_attr(tmp->attr, COL_STR));
      else
	color = COLOR;
     scene->obj = tmp2;
      color = calc_light(tmp, calc_vect(p), scene, k);
    }
  scene->obj = tmp2;
  return (color);
}
int main(){
   List l1;createList(&l1);
   char s[1024];s[0] = '\0';
   
   int i;
   for(i = 0;i < 12;i++){   
      insert(createNode(i*100),i,&l1);
      showList(&l1);
   }
   
   Node *n = removeList(3,&l1);
   showList(&l1);
   printf("3 removed: %d\n\n",n->entry.a);
   
   n->entry.a += 150;
   insert(n,9,&l1);
   showList(&l1);
   printf("9 inserted: %d\n\n",n->entry.a);
   
   showList(&l1);
   printf("%d found at pos %d\n\n",n->entry.a,search(n,&l1));
   
   n = createNode(101);
   showList(&l1);
   printf("%d not found pos != %d\n\n",n->entry.a,search(n,&l1));
   
   showList(&l1);
   printf("3 has: %d\n\n",search_k(3,&l1)->entry.a);
   
   for(i = 0;i < 12;i++){
      char s[1024];
      
      if(!empty(&l1)){
         n = removeList(1,&l1);
         if(n != NULL)
            free(n);
      }else
         printf("Empty list...\n");
      showList(&l1);
   }
   
   gets(s);
   return 0;
}
Exemple #3
0
t_k		calc(double x, double y, t_param *param, t_k *k)
{
	t_k		closest;
	t_objet	*tmp;
	t_utils	utils;

	k = NULL;
	init_k(&closest);
	init_utils(&utils);
	tmp = param->objet;
	init_utils_eye(&utils, param, x, y);
	obj_rot(&utils, NULL, -1, 0);
	while (tmp != NULL)
	{
		k = search_k(tmp, utils, k, param);
		tmp = tmp->next;
	}
	closest = fill_closest(k, closest);
	if (k)
		free(k);
	return (closest);
}
Exemple #4
0
int solve(int pos)
{
	if(pos == 1)
		return 1;
	int i, j, k = search_k(pos), mid;
	pos -= sk_sum[k-1];
	i = 1;
	j = k;
	while(i <= j)
	{
		mid = (i+j)/2;
		if(sk_len[mid] < pos)
			i = mid+1;
		else if(sk_len[mid] > pos)
			j = mid-1;
		else
		{
			i = mid;
			break;
		}
	}
	pos -= sk_len[i-1];
	return get_digit(i, pos);
}
Exemple #5
0
int main()
{
    LinkList La, Lb, Lc;
    ElemType e;
    int i;

    InitList(La);
    InitList(Lb);
    InitList(Lc);

    for ( i = 0; i < 10; i++ )
        ListInsert(La, 1, (i+1)% 4);
    ListTraverse(La, print);

    delete_x(La, 3);
    ListTraverse(La, print);

    ClearList(La);
    for ( i = 0; i < 10; i++ )
        ListInsert(La, 1, i+1);
    ListTraverse(La, print);
    reverse_print(La->next);
    printf("\n");

    delete_min(La);
    ListTraverse(La, print);
    
    reverse(La);
    ListTraverse(La, print);

    delete_between_min_and_max(La);
    ListTraverse(La, print);

    ClearList(La);
    for ( i = 0; i < 10; i++ )
        ListInsert(La, 1, i+1);
    ListTraverse(La, print);
    print_and_delete_sorted(La);

    ClearList(La);
    for ( i = 0; i < 10; i++ )
        ListInsert(La, 1, i+1);
    ListTraverse(La, print);
    split(La, Lb);
    ListTraverse(La, print);
    ListTraverse(Lb, print);

    ClearList(La);
    for ( i = 9; i > 6; i-- )
        ListInsert(La, 1, i);
    for ( i = 7; i > 5; i-- )
        ListInsert(La, 1, i);
    for ( i = 6; i > 4; i-- )
        ListInsert(La, 1, i);
    ListTraverse(La, print);
    Delete_repeat_sorted(La);
    ListTraverse(La, print);

    ClearList(La);
    ClearList(Lb);
    for ( i = 10; i > 0; i-- )
    {
        ListInsert(La, 1, i);
        ListInsert(Lb, 1, i*2);
    }
    ListTraverse(La, print);
    ListTraverse(Lb, print);
    merge_sorted(La, Lb);
    ListTraverse(La, print);

    ClearList(La);
    InitList(Lb);
    for ( i = 10; i > 0; i-- )
    {
        ListInsert(La, 1, i);
        ListInsert(Lb, 1, i*2);
    }
    ListTraverse(La, print);
    ListTraverse(Lb, print);
    merge_common(La, Lb, Lc);
    ListTraverse(Lc, print);

    ClearList(La);
    ClearList(Lb);
    for ( i = 10; i > 0; i-- )
        ListInsert(La, 1, i);
    for ( i = 6; i > 2; i-- )
        ListInsert(Lb, 1, i);
    ListTraverse(La, print);
    ListTraverse(Lb, print);
    child_sequence(La, Lb);

    search_k(La, 4);

    return 0;
}