pvjc25/du2/program.c
2025-04-08 19:19:05 +02:00

56 lines
1.1 KiB
C

#include <stdio.h>
#define maxcoe 100
int read_number (double *num) {
char buffer[50];
if (!fgets(buffer, sizeof(buffer), stdin)) {
return 0;
}
if (sscanf(buffer, "%lf", num) != 1) {
return 0;
}
return 1;
}
double hornerovaschema (double x, double cofecients[], int count) {
double result = 0.0;
for (int i = 0; i < count; i++) {
result = result * x + cofecients[i];
}
return result;
}
int main() {
double x;
double cof[maxcoe];
int count = 0;
if (!read_number(&x)) {
printf("Nepodarilo sa nacitat zaklad x\n");
return 0;
}
while (count < maxcoe) {
double coef;
char buffer[50];
if (!fgets(buffer, sizeof(buffer), stdin) || buffer[0] == '\n') {
break;
}
if (sscanf(buffer, "%lf", &coef) != 1) {
printf("Nepodarilo sa nacitat polynom na %d mieste.\n", count + 1);
return 0;
}
cof[count] = coef;
count++;
}
double result = hornerovaschema(x, cof, count);
printf("Vysledok je: %.2f\n", result);
return 0;
}