#include #include #include float plus(float total, float number); float minus(float total, float number); float divided(float total, float number); float multiplied(float total, float number); int main() { char buffer[999]; char row[999]; char equation[999][20]; char output[999][10]; int output_length = 0; int index = 0; int eq_index = 0; while (fgets(buffer, sizeof(buffer), stdin) != NULL) { if (buffer[0] == '\n') break; index = 0; eq_index = 0; int eq_operand_length = 0; while (buffer[index] != '\n') { if (buffer[index] != ' ') { equation[eq_index][eq_operand_length] = buffer[index]; eq_operand_length++; } else { equation[eq_index][eq_operand_length] = '\0'; eq_operand_length = 0; eq_index++; } index++; } float total = 0.0; int sign = 0; char out[10] = ""; int n_of_signs = 0; char operators[6] = "+-=*/"; char last_operator = '+'; for (int i=0;i 1) && (equation[i][0] == '-')) continue; n_of_signs++; } } if (((n_of_signs == 1) && sign && (strlen(equation[i]) == 1)) || ((n_of_signs == 0) && !sign)) { if (!sign) { switch (last_operator) { case '+': total = plus(total, atof(equation[i])); break; case '-': total = minus(total, atof(equation[i])); break; case '*': total = multiplied(total, atof(equation[i])); break; case '/': total = divided(total, atof(equation[i])); break; case '=': if (total == atof(equation[i])) { strcpy(output[output_length], "OK"); output_length++; } else { strcpy(output[output_length], "ZLE"); output_length++; } break; } } else { last_operator = equation[i][0]; } } else { strcpy(output[output_length], "CHYBA"); output_length++; break; } sign = !sign; } //printf("%s\n",out); } for (int i=0; i