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; }
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); }
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); }
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; }