2024-03-08 08:17:54 +00:00
|
|
|
#include <stdio.h>
|
2024-03-08 08:38:01 +00:00
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
2024-03-08 08:17:54 +00:00
|
|
|
|
2024-03-08 08:21:46 +00:00
|
|
|
#define MAX_COEFFICIENTS 100
|
2024-03-08 08:38:01 +00:00
|
|
|
#define BUFFER_SIZE 1024
|
2024-03-08 08:21:46 +00:00
|
|
|
|
|
|
|
double evaluatePolynomial(double x, double coefficients[], int n) {
|
|
|
|
double result = 0.0;
|
|
|
|
for (int i = 0; i < n; ++i) {
|
|
|
|
result = result * x + coefficients[i];
|
2024-03-08 08:17:54 +00:00
|
|
|
}
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
int main() {
|
2024-03-08 08:38:01 +00:00
|
|
|
char buffer[BUFFER_SIZE];
|
2024-03-08 08:21:46 +00:00
|
|
|
double x, coef;
|
|
|
|
double coefficients[MAX_COEFFICIENTS];
|
|
|
|
int count = 0;
|
|
|
|
|
2024-03-08 08:38:01 +00:00
|
|
|
|
|
|
|
printf("Enter the value of x: ");
|
|
|
|
fgets(buffer, BUFFER_SIZE, stdin);
|
|
|
|
if (sscanf(buffer, "%lf", &x) != 1) {
|
|
|
|
printf("Nepodarilo sa nacitat zaklad x\n");
|
|
|
|
return 0;
|
2024-03-08 08:32:21 +00:00
|
|
|
}
|
2024-03-08 08:17:54 +00:00
|
|
|
|
2024-03-08 08:38:01 +00:00
|
|
|
printf("Enter coefficients from highest to lowest degree, finish with an empty line:\n");
|
|
|
|
while (fgets(buffer, BUFFER_SIZE, stdin) && buffer[0] != '\n') {
|
|
|
|
if (sscanf(buffer, "%lf", &coef) == 1) {
|
|
|
|
coefficients[count++] = coef;
|
|
|
|
if (count >= MAX_COEFFICIENTS) {
|
|
|
|
printf("Maximum number of coefficients exceeded.\n");
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
printf("Nepodarilo sa nacitat polynom na %d mieste.\n", count + 1);
|
|
|
|
return 0;
|
|
|
|
}
|
2024-03-08 08:25:05 +00:00
|
|
|
}
|
|
|
|
|
2024-03-08 08:21:46 +00:00
|
|
|
double result = evaluatePolynomial(x, coefficients, count);
|
|
|
|
printf("Vysledok je: %.2f\n", result);
|
2024-03-08 08:17:54 +00:00
|
|
|
|
2024-03-08 08:32:21 +00:00
|
|
|
return 0;
|
2024-03-08 08:17:54 +00:00
|
|
|
}
|