This commit is contained in:
Jana Kapalková 2026-03-05 18:13:23 +01:00
parent 75a3b1c4dc
commit 3e96d3a32c

View File

@ -2,45 +2,51 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <ctype.h>
#define LINE_SIZE 1024
int main() {
char line[LINE_SIZE];
char* endptr = NULL;
char* start = NULL;
memset(line, 0, LINE_SIZE);
char* r1 = fgets(line, LINE_SIZE, stdin);
assert(r1 != NULL);
double x = strtod(line, NULL);
memset(line, 0, LINE_SIZE);
char* r2 = fgets(line, LINE_SIZE, stdin);
assert(r2 != NULL);
int len = strlen(line);
start = line;
double result = 0.0;
char* r = NULL;
double x = 0, val = 0, result = 0;
int first = 1;
int count = 0;
while (start < (line + len)) {
double val = strtod(start, &endptr);
memset(line, 0, LINE_SIZE);
r = fgets(line, LINE_SIZE, stdin);
if (start != endptr) {
if (first) {
result = val;
first = 0;
} else {
result = result * x + val;
}
start = endptr;
} else {
if (r == NULL) {
printf("Nepodarilo sa nacitat hodnotu x.\n");
return 1;
}
assert(r != NULL);
x = strtod(line, &endptr);
if (line == endptr) {
printf("Nepodarilo sa nacitat hodnotu x.\n");
return 1;
}
while (fgets(line, LINE_SIZE, stdin) != NULL) {
if (strlen(line) <= 1 && (line[0] == '\n' || line[0] == '\r')) {
break;
}
char *ptr = line;
while (isspace((unsigned char)*ptr)) ptr++;
if (*ptr == '\0') break;
val = strtod(line, &endptr);
if (line == endptr) {
printf("Nepodarilo sa nacitat koeficient %d.\n", count);
return 1;
}
if (first) {
result = val;
first = 0;
} else {
result = result * x + val;
}
count++;
}
printf("Vysledok je: %.2f\n", result);
return 0;
}