Получить программную реализацию стека на массиве элементов типа float - C (СИ)

Узнай цену своей работы

Формулировка задачи:

пожалуйста помогите решить эту задачку. Получить программную реализацию стека на массиве элементов типа "float". Написать тестовую программу, позволяющую пользователю много- кратно выполнять различные операции над стеком. Выход из программы осуществляется по команде пользователя.

Решение задачи: «Получить программную реализацию стека на массиве элементов типа float»

textual
Листинг программы
#include <stdio.h>
 
#define SIZE 100
 
typedef struct Stack_t {
    float value[SIZE];
    size_t size;
}   TStack;
 
//-----------------------------------------------------------------------------
TStack* push(TStack* stack, float value) {
    if (stack->size < SIZE) {
        stack->value[stack->size++] = value;
    }
    return stack;
}
//-----------------------------------------------------------------------------
float pop(TStack* stack) {
    return stack->size ? stack->value[--stack->size] : 0.0;
}
//-----------------------------------------------------------------------------
void print(const TStack* stack) {
    size_t i = stack->size;
    while (i--) {
        printf("%.3f ", stack->value[i]);
    }
    printf("\n");
}
//-----------------------------------------------------------------------------
 
int main() {
    TStack stack = {{0.0}, 0};
 
    int i = 0;
    while (i++ < 10) {
        push(&stack, i);
    }
    print(&stack);
 
    return 0;
}

Объяснение кода листинга программы

  1. Объявление макроса SIZE, который задает размер стека.
  2. Объявление структуры Stack_t, которая представляет собой стек.
  3. Реализация функции push(), которая добавляет элемент в стек.
  4. Реализация функции pop(), которая удаляет элемент из стека.
  5. Реализация функции print(), которая выводит содержимое стека.
  6. Создание переменной stack типа TStack в функции main().
  7. Инициализация переменной stack начальным значением 0.0 и размером 0.
  8. Создание цикла, который добавляет 10 элементов в стек.
  9. Вызов функции print() для вывода содержимого стека.
  10. Возврат 0 из функции main(), что означает успешное завершение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы