int main(int argc, char **argv) { static t_list *mapile = NULL; static t_list *stack2 = NULL; static t_list *lc = NULL; t_var var; var.i = 1; while (argv[var.i]) { my_push(&mapile, my_getnbr(argv[var.i])); var.i = var.i + 1; } my_reverse_doc(&mapile); while (my_is_empty(mapile) != -1) { var.len = my_length(mapile); var.nb = my_min_doc(mapile, stack2, &var.pos); while (var.pos != 0) { my_rotate(&mapile); my_var_ini(&var.i, &var.pos, 1, mapile); } my_delete_first(&mapile, &stack2); my_var_ini(&var.i, &var.pos, 2, mapile); } my_putchar('\n'); }
double get_tolerance2(int ProNum) { double res, perimeter = 0, area = 0; int i; Point O; O.x = O.y = 0; for (i = 0; i < poly_point_number_th[ProNum]; i++) { Point a = temp_list_th[ProNum][i]; Point b = temp_list_th[ProNum][(i + 1) % poly_point_number_th[ProNum]]; perimeter += my_length(a, b); area += my_cross(O, a, b); } area = fabs(area); res = area / perimeter * alpha; //printf("%d %lf %lf, %lf\n", poly_point_number, area, perimeter, res); return res * 2.0; //return 0; }