Форум программистов, компьютерный форум, киберфорум
Наши страницы

Работа со стеком - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программирование динамических списков http://www.cyberforum.ru/cpp-beginners/thread591291.html
Написать программу, в которой реализовать создания динамического списка с последующим функционалом: а) добавление элементов в список; б) удаление элементов из списка; в) сортировка списка в...
C++ Ошибка -1073740777 Что за ошибка изо чего она как её исправить ? >C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(393,5): error MSB6006: "rc.exe" завершилась с кодом -1073740777. http://www.cyberforum.ru/cpp-beginners/thread591286.html
C++ Динамические графики
Народ срочно нужна помощь... У меня есть оконное приложение написанное на c++ в vs 2005(чистый WinApi)... В дочернее окно выводится графика посредством Opengl... Мне нужно также выводить динамически...
C++ Копирование битов
Задача: Дано два 32-х битных числа – A и B. Напишите функцию, которая бы скопировала биты из числа A в число B, начиная с бита под номером startBit и заканчивая битом под номером stopBit. int...
C++ Подсчет числа слов в предложении до точки http://www.cyberforum.ru/cpp-beginners/thread591259.html
Напишите программу,которая считает сколько слов в предложении до точки, с использованием getchar
C++ Масивы: удалить все числа которые начинаются и заканчиваются на одну и ту же цифру В одномерном массиве удалить все числа начинаются и заканчиваются на одну и ту же цифру подробнее

Показать сообщение отдельно
Catstail
Модератор
22838 / 11204 / 1812
Регистрация: 12.02.2012
Сообщений: 18,439
31.05.2012, 14:24
Виноват! Взял стек из проекта (есть лишнее!) Правильно так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include "iostream.h"
 
// Стек:
 
int *sArr;   
int sPtr;
int sSize;
 
// Реализация стека
 
void InitStack(int n) // Проинициализировать стек
{
    int i;
    sSize=n;
    sArr=new int[sSize];
    for (i=0; i< sSize; i++) sArr[i]=0;
    sPtr=0;
}
 
void DestroyStack() // Уничтожить стек
{
    delete sArr;
}
 
int isEmptyS()   // Проверить пустоту
{
    if (sPtr == 0)
       return -1;
    else
       return 0;
}
 
void Push(int x)    // Занести в стек
{
    if (sPtr < sSize)
    {
        sArr[sPtr++]=x;
        //Chk[x]=1;
        //Num[x]=sPtr-1;
    }
    else 
        throw "Stack overflow!!!";
 
}
 
int Pop()   // Извлечь из стека
{
    int z;
    if (sPtr > 0) 
    {
        z=sArr[--sPtr];
        return z;
    }
    throw "Stack is empty!"; 
}
 
void Show()  // Распечатать содержимое стека
{
    int i;
 
    cout << "STACK: ";
 
    for (i=0; i < sPtr; i++)
        cout << sArr[i] << " ";
 
    cout << endl;
 
}
 
int main(int argc, char* argv[])
{
 
  InitStack(100);
 
  Push(1);
  Push(2);
  Push(3);
 
  cout << Pop() << endl;
  cout << Pop() << endl;
  cout << Pop() << endl;
 
  DestroyStack();
 
  return 0;
}
Из картинки видно, что числа выводятся из стека в порядке, противоположном порядку ввода.
1
Миниатюры
Работа со стеком  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru