Форум программистов, компьютерный форум CyberForum.ru

Развернуть стек - C++

Восстановить пароль Регистрация
 
Larica
Сообщений: n/a
20.11.2013, 13:45     Развернуть стек #1
Развернуть стек, т.е. сделать "дно" стека вершиной, а вершину - "дном". Стек должен быть на основе массива.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 13:45     Развернуть стек
Посмотрите здесь:

C++ Развернуть матрицу на 90 градусов за часовой стрелкой.
C++ Развернуть матрицу на 90o по часовой стрелке.
C++ Зеркально развернуть слово в строке.
C++ Развернуть динамический массив
Развернуть окно на рабочую область Desktop C++
C++ Требуется развернуть односвязный список
Как развернуть стек? C++
Развернуть односвязный список C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ElenaBilyk
 Аватар для ElenaBilyk
4 / 4 / 1
Регистрация: 22.10.2013
Сообщений: 34
20.11.2013, 13:53     Развернуть стек #2
Это стек с нормальными вершинами, дальше додумайте сами.
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
#ifndef STACK_
#define STACK_
struct customer
{
    char Fullname[35];
    double Payment; 
};
typedef customer Item;
static double Subtotal = 0;
class Stack
{
    static const int MAX = 10;  
    Item Items [MAX];           //хранит элементы стека
    int Top;                    //индекс вершины стека
public:
    Stack();
    bool isempty() const;
    bool isfull() const;
    bool push(const Item & item);       //добавляет элементы в стек
    bool pop(Item & item);              //выталкивает элемент с вершины стека   
};
#endif
 
 
 
#include "stdafx.h"
#include "stack.h"
#include <iostream>
 
Stack :: Stack()
{
    Top = 0;
}
bool Stack :: isempty() const
{
    return Top == 0;
}
bool Stack :: isfull() const
{
    return Top == MAX;
}
bool Stack :: push(const Item & item)
{
    if (Top < MAX)
    {
        Items[Top++]= item;
        return true;
    }
    else 
        return false;
}
bool Stack :: pop(Item & item)
{
    if (Top > 0)
    {
        item = Items[--Top];
        Subtotal += item.Payment;
        std::cout<<"Subtotal = "<<Subtotal<<'\n';
        return true;
    }
    else 
        return false;
}
newbie666
Заблокирован
20.11.2013, 13:54     Развернуть стек #3
C++
1
2
3
4
5
6
7
std::vector<int> stack;
stack.push_back(3);
stack.push_back(5);
stack.push_back(66);
stack.push_back(-23);
stack.push_back(45);
std::reverse(stack.begin(), stack.end());
Yandex
Объявления
20.11.2013, 13:54     Развернуть стек
Ответ Создать тему
Опции темы

Текущее время: 17:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru