pvjc24/cv3/program.c
2024-03-03 17:41:49 +01:00

63 lines
1.4 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define SIZE_OF_ARRAY 100
#define LINE_SIZE 2
int main()
{
float result_of_main=0;
float array_of_numbers[SIZE_OF_ARRAY];
int counter=0;
int result;
float pow_result;
while(1){
float x=0;
result=reading_input(&x);
if(result==0||result==2){
break;
}
array_of_numbers[counter]=x;
counter++;
}
if(result==0){
return 0;
}
for(int j=1; j<counter; j++){
float rawPow = pow(array_of_numbers[0],(counter-j)-1);
float roundedPos = round(rawPow*100)/100;
//printf("RAW: %f, ROUNDED: %f\n", rawPow, roundedPos);
result_of_main += array_of_numbers[j]*rawPow;
}
printf("Vysledok je: %.2f\n",round(result_of_main * 100) / 100);
return 0;
}
//ceil(result_of_main * 100) / 100)
int reading_input(float *number){
char buffer[SIZE_OF_ARRAY];
fgets(buffer,SIZE_OF_ARRAY,stdin);
for(int j=0; buffer[j]!='\0'; j++){
if (buffer[j]>='0'&&buffer[j]<='9') {
continue;
}
if (buffer[j]=='.') {
continue;
}
if(buffer[j]=='\n'){
buffer[j]='\0';
break;
}
printf("You have entered wrong number.\n");
return 0;
}
if(buffer[0]=='\0'){
return 2;
}
*number=atof(buffer);
return 1;
}