diff --git a/du2/program.c b/du2/program.c new file mode 100644 index 0000000..2c54c91 --- /dev/null +++ b/du2/program.c @@ -0,0 +1,39 @@ +#include +#include +#include +#include + +#define LINE_SIZE 100 + +int horner(int coeffs[], int n, int x) { + int result = coeffs[0]; + for (int i = 1; i < n; i++) { + result = result * x + coeffs[i]; + } + return result; +} + +int main() { + char line[LINE_SIZE]; + memset(line, 0, LINE_SIZE); + + char* r = fgets(line, LINE_SIZE, stdin); + assert(r != NULL); + + char* endptr = NULL; + int x = strtol(line, &endptr, 10); + + if (endptr == line) { + fprintf(stderr, "Error: Invalid input.\n"); + exit(EXIT_FAILURE); + } + + int coeffs[] = {2, 3, 4}; + int n = sizeof(coeffs) / sizeof(coeffs[0]); + + int result = horner(coeffs, n, x); + + printf("The result of the polynomial evaluation is: %d\n", result); + + return 0; +}