pvjc24/cv3/program.c

49 lines
1.3 KiB
C
Raw Normal View History

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
}