Создать стек вещественных чисел на основе статического массива - C (СИ)
Формулировка задачи:
Почему не получается добавить элементы в стек?
Помогите пожалуйста.
#include <stdio.h> #define MAXN 100 // Максимальный размер стека. static double st[MAXN]; // Массив стека. int n; // Размер стека. void push(double x) { if (n != MAXN) // Проверим на переполнение. st[n++] = x; // Добавим новый. else printf("стек переполнен."); // Сообщение об ошибке. } double pop() { if (n != 0) // Проверим на пустоту. n--; // Уменьшим размер. else printf("стек пуст."); // Сообщение об ошибке. } double top() { if (n != 0) // Проверим на пустоту. printf("%d\n", st[n-1]); // Выведем вершину стека. else printf("стек пуст."); // Сообщение об ошибке. } int main() { int act = -1; while (act) { printf("\n1. добавление.\n2. удаление.\n3. вершина .\nиначе-выход.\n"); scanf("%d", &act); switch (act) { case 1: double x(); break; case 2: pop(); break; case 3: top(); break; default: break; } } return 0; }
Решение задачи: «Создать стек вещественных чисел на основе статического массива»
textual
Листинг программы
#include <stdio.h> #define MAXN 100 // Максимальный размер стека. static double st[MAXN]; // Массив стека. int n; // Размер стека. void push(double x) { if (n != MAXN) // Проверим на переполнение. st[n++] = x; // Добавим новый. else printf("стек переполнен."); // Сообщение об ошибке. } void pop() { if (n != 0) // Проверим на пустоту. n--; // Уменьшим размер. else printf("стек пуст."); // Сообщение об ошибке. } void top() { if (n != 0) // Проверим на пустоту. printf("%f\n", st[n-1]); // Выведем вершину стека. else printf("стек пуст."); // Сообщение об ошибке. } int main() { int act = -1; while (act) { printf("\n1. добавление.\n2. удаление.\n3. вершина .\nиначе-выход.\n"); scanf("%d", &act); switch (act) { case 1: push(4); break; case 2: pop(); break; case 3: top(); break; default: break; } } return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д