diff --git a/2025.05.02/01Ex/main.c b/2025.05.02/01Ex/main.c index c3d3828..1229afd 100644 --- a/2025.05.02/01Ex/main.c +++ b/2025.05.02/01Ex/main.c @@ -21,6 +21,7 @@ int main(int argc, char *argv[]) !((argc == 6) && sscanf(argv[1], "%lf", &a) == 1 && sscanf(argv[2], "%lf", &b) == 1 && + (a <= b) && sscanf(argv[3], "%lf", &eps) == 1 && ((sscanf(argv[4], "%d", &m) == 1) && m > 0) && ((sscanf(argv[5], "%d", &k) == 1) && ((0 <= k) && (k <= len_f)))) diff --git a/2025.05.02/01Ex/solve.c b/2025.05.02/01Ex/solve.c index cf441ea..abcbddb 100644 --- a/2025.05.02/01Ex/solve.c +++ b/2025.05.02/01Ex/solve.c @@ -23,6 +23,16 @@ status t1_solve ( memcpy(&bits, &y_b, sizeof(bits)); sgn_b = (bits >> 63) & 1; + if (fabs(y_a) - eps < DBL_EPSILON) + { + *x = a; + return SUCCESS; + } if (fabs(y_b) - eps < DBL_EPSILON) + { + *x = b; + return SUCCESS; + } + if (sgn_a == sgn_b) { *x = DBL_MAX;