pvjc25/du2/program.c

67 lines
1.2 KiB
C
Raw Permalink Normal View History

2025-03-06 10:21:11 +00:00
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
2025-03-06 10:40:23 +00:00
#include <ctype.h>
2025-03-06 10:21:11 +00:00
#define LINE_SIZE 100
2025-03-06 10:43:15 +00:00
int read_double(double *value, int coef_index) {
2025-03-06 10:40:23 +00:00
char line[LINE_SIZE];
2025-03-06 11:07:55 +00:00
2025-03-06 10:40:23 +00:00
if (fgets(line, LINE_SIZE, stdin) == NULL) {
2025-03-06 12:40:33 +00:00
return 0;
2025-03-06 10:49:06 +00:00
}
2025-03-06 11:07:55 +00:00
2025-03-06 13:04:49 +00:00
line[strcspn(line, "\r\n")] = 0;
2025-03-06 10:46:00 +00:00
if (strlen(line) == 0) {
return 0;
2025-03-06 10:40:23 +00:00
}
2025-03-06 10:46:00 +00:00
2025-03-06 10:40:23 +00:00
char *endptr;
*value = strtod(line, &endptr);
2025-03-06 10:46:00 +00:00
2025-03-06 13:04:49 +00:00
2025-03-06 10:46:00 +00:00
if (endptr == line || *endptr != '\0') {
2025-03-06 13:04:49 +00:00
printf("Nepodarilo sa nacitat polynom na %d mieste.\n", coef_index);
2025-03-06 12:40:33 +00:00
return -1;
2025-03-06 10:40:23 +00:00
}
2025-03-06 11:07:55 +00:00
2025-03-06 10:40:23 +00:00
return 1;
}
2025-03-06 10:21:11 +00:00
int main() {
2025-03-06 10:40:23 +00:00
double x;
2025-03-06 11:07:55 +00:00
2025-03-06 11:18:47 +00:00
if (!read_double(&x, 1)) {
2025-03-06 10:40:23 +00:00
return 1;
}
double coef;
double result = 0;
2025-03-06 12:40:33 +00:00
int coef_count = 0;
2025-03-06 10:21:11 +00:00
2025-03-06 10:40:23 +00:00
while (1) {
2025-03-06 12:40:33 +00:00
coef_count++;
2025-03-06 11:18:47 +00:00
int status = read_double(&coef, coef_count);
2025-03-06 11:07:55 +00:00
2025-03-06 10:56:22 +00:00
if (status == -1) {
2025-03-06 12:40:33 +00:00
return 0;
2025-03-06 10:56:22 +00:00
}
2025-03-06 11:07:55 +00:00
2025-03-06 10:56:22 +00:00
if (status == 0) {
2025-03-06 12:40:33 +00:00
if (coef_count == 1) {
2025-03-06 13:04:49 +00:00
return 1;
2025-03-06 10:40:23 +00:00
}
2025-03-06 10:53:15 +00:00
break;
2025-03-06 10:36:49 +00:00
}
2025-03-06 11:07:55 +00:00
2025-03-06 12:40:33 +00:00
result = result * x + coef;
2025-03-06 10:21:11 +00:00
}
2025-03-06 10:40:23 +00:00
2025-03-06 13:04:49 +00:00
printf("Vysledok je: %.2f\n", result);
2025-03-06 10:21:11 +00:00
return 0;
2025-03-06 13:04:49 +00:00
}