2024-02-27 09:04:02 +00:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
|
|
#define MAX_LINE_LENGTH 256
|
|
|
|
|
|
|
|
bool IsValidNumber(const char *line) {
|
|
|
|
char *endFtr;
|
|
|
|
strtod(line, &endFtr);
|
2024-02-27 09:13:05 +00:00
|
|
|
if (endPtr == line){
|
|
|
|
return false;
|
|
|
|
}
|
2024-02-27 09:04:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
char line[MAX_LINE_LENGTH];
|
|
|
|
double result = 1;
|
|
|
|
int coefficientIndex = 0;
|
|
|
|
|
|
|
|
printf("Zadajte zaklad x: ");
|
|
|
|
if (fgets(line, MAX_LINE_LENGTH, stdin) == NULL || !IsValidNumber(line)) {
|
|
|
|
printf("Nepodarilo sa nacitat zaklad x\n");
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
while (1) {
|
|
|
|
if (fgets(line, MAX_LINE_LENGTH, stdin) == NULL || !IsValidNumber(line)) {
|
|
|
|
printf("Nepodarilo sa nacitat polynom na %d mieste. \n", coefficientIndex);
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
char *endPtr;
|
|
|
|
double x = strtod(line, &endPtr);
|
|
|
|
if (*endPtr != '\n' && *endPtr != '\0') {
|
|
|
|
printf("Nespravny format cisla\n");
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
2024-02-27 09:13:05 +00:00
|
|
|
result = result * x + coeffiecientIndex;
|
2024-02-27 09:04:02 +00:00
|
|
|
}
|
|
|
|
|
2024-02-27 09:13:05 +00:00
|
|
|
printf("Vysledok je: %.2f\n", result);
|
2024-02-27 09:04:02 +00:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|