Update cv3/program.c
This commit is contained in:
parent
53462b2416
commit
09bbcf740a
@ -4,18 +4,17 @@
|
|||||||
|
|
||||||
#define STACK_SIZE 10
|
#define STACK_SIZE 10
|
||||||
|
|
||||||
// Структура для калькулятора зі стеком
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
double stack[STACK_SIZE];
|
double stack[STACK_SIZE];
|
||||||
int top;
|
int top;
|
||||||
} Calculator;
|
} Calculator;
|
||||||
|
|
||||||
// Ініціалізація калькулятора
|
|
||||||
void init(Calculator *calc) {
|
void init(Calculator *calc) {
|
||||||
calc->top = -1;
|
calc->top = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Додавання числа до стека
|
|
||||||
int push(Calculator *calc, double value) {
|
int push(Calculator *calc, double value) {
|
||||||
if (calc->top >= STACK_SIZE - 1) {
|
if (calc->top >= STACK_SIZE - 1) {
|
||||||
printf("Chyba: zasobnik je plny\n");
|
printf("Chyba: zasobnik je plny\n");
|
||||||
@ -25,7 +24,7 @@ int push(Calculator *calc, double value) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Вилучення числа зі стека
|
|
||||||
int pop(Calculator *calc, double *value) {
|
int pop(Calculator *calc, double *value) {
|
||||||
if (calc->top < 0) {
|
if (calc->top < 0) {
|
||||||
printf("Chyba: zasobnik je prazdny\n");
|
printf("Chyba: zasobnik je prazdny\n");
|
||||||
@ -35,10 +34,10 @@ int pop(Calculator *calc, double *value) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Виведення значень в стеку
|
|
||||||
void print_stack(Calculator *calc) {
|
void print_stack(Calculator *calc) {
|
||||||
for (int i = 0; i <= calc->top; i++) {
|
for (int i = 0; i <= calc->top; i++) {
|
||||||
printf("%.6f ", calc->stack[i]);
|
printf("%.2f ", calc->stack[i]);
|
||||||
}
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user