From 3b36ad311e67cab16d3967477ca14e7ab8dbb064 Mon Sep 17 00:00:00 2001 From: Anton Dolozin Date: Tue, 7 Oct 2025 20:58:05 +0200 Subject: [PATCH] Tzriming --- du3/program.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/du3/program.c b/du3/program.c index bd424a6..bd9eabc 100644 --- a/du3/program.c +++ b/du3/program.c @@ -62,10 +62,10 @@ void process_operations(struct stack* stack) { strcmp(line, "*") == 0 || strcmp(line, "/") == 0)) { // ked' mame dostatny pocet operandov, tak zobrame ostatne dva cisla z zasobniku if (stack->size >= 2) { - float b = pop_stack(stack); - float a = pop_stack(stack); + float last = pop_stack(stack); + float second_last = pop_stack(stack); /// prerusime prgram a vypiseme chybu ked' mame podel' na 0 - if (line[0] == '/' && b == 0.0F) + if (line[0] == '/' && last == 0.0F) { printf("division by zero\n"); return; @@ -74,10 +74,10 @@ void process_operations(struct stack* stack) { // na zaciatku ide podmienka, potom ? operator, vysledok a : operator, ktory vysvetl;je co robit v inakom pripade // 0 tu ako keby defaultny pripad; nedojde do neho - float res = (line[0] == '+') ? a + b : - (line[0] == '-') ? a - b : - (line[0] == '*') ? a * b : - (line[0] == '/') ? a / b : 0; + float res = (line[0] == '+') ? second_last + last : + (line[0] == '-') ? second_last - last : + (line[0] == '*') ? second_last * last : + (line[0] == '/') ? second_last / last : 0; /// ked' operaciu podarilo urobit', pridame cislo do zasobniku a vypiseme zasobnik push_stack(stack, res);