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

Создать структуру, реализующую стек целых чисел типа LIFO - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дано натуральное число n, действительные числа X1,...,X3n http://www.cyberforum.ru/cpp-beginners/thread184209.html
Дано натуральное число n, действительные числа X1,...,X3n. Вычислить сумму чисел с Xn+1,...,X3n, которые превосходят по величине все числа X1,...,Xn.
C++ преобразовать одномерный массив Доброго времени суток! Помогите решить задачу, а то у меня в голове совсем не укладывается как. Дан массив размера N. Преобразовать его, вставив перед1|после2 каждого положительного3|отрицательного4 элемента нулевой элемент. Буду весьма презнателен http://www.cyberforum.ru/cpp-beginners/thread184208.html
C++ Нарисовать рамку.
Пытаюсь нарисовать рамку.Т.е.: ххххххх х-----х х-----х ххххххх У меня получается создать 2 гориз-ые линии через массивы.Но наверняка есть какой-то более емкий способ,может кто поделится идеей. #include <iostream> #include <string.h> #include <conio.h>
Определить кольцо с центром в начале координат, которое содержит все точки C++
Пожалуйста, помогите с заданием в Microsoft Visual C++ 6.0 Составить программу по обработке одномерного массива согласно условию: В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в порядке х1,у1,х2,у2,х3,у3 и т.д. Определить кольцо с центром в начале координат, которое содержит все точки. Заранее благодарен Дублирование...
C++ Функция int isdigit(int С) http://www.cyberforum.ru/cpp-beginners/thread184165.html
Чот мучился с ней так и не сообразил как организовать решение задачи: с бинарного файла считываются цифры и латинские буквы, а после буквы записываются в бинарный b, а цифры в бинарный h.. Может кто примером объяснит?
C++ Реализовать односвязный список для хранения Реализовать односвязный список для хранения данных вида: ФИО, группа. Обеспечить выполнение операций: добавление элемента в заданную позицию списка; очистка списка; отображение содержимого списка. подробнее

Показать сообщение отдельно
KpeHDeJIb
56 / 56 / 3
Регистрация: 31.10.2010
Сообщений: 103
01.11.2010, 11:57     Создать структуру, реализующую стек целых чисел типа LIFO
Пожалуй самый простой вариант с динамически выделяемой памятью будет таким:
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
#include <iostream>
 
struct Stack
{
public:
    Stack(): m_items(NULL), m_count(0)
    {
    }
 
    ~Stack()
    {
        delete[] m_items;
    }
 
    void push(int value)
    {
        int *temp = new int[m_count + 1];
 
        for (unsigned i = 0; i < m_count; ++i)
            temp[i] = m_items[i];
 
        temp[m_count] = value;
 
        delete[] m_items;
        m_items = temp;
 
        ++m_count;
    }
 
    int pop()
    {
        int value, *temp = NULL;
 
        if (m_count == 0)
        {
            return 0;
        }
 
        --m_count;
 
        value = m_items[0];
 
        if (m_count != 0)
        {
            temp = new int[m_count];
 
            for (unsigned i = 0; i < m_count; ++i)
                temp[i] = m_items[i];
 
            value = m_items[m_count];
        }
 
        delete[] m_items;
        m_items = temp;
 
        return value;
    }
 
    unsigned size() const
    {
        return m_count;
    }
 
private:
    int      *m_items;
    unsigned m_count;
};
 
int main()
{
    Stack stack;
 
    for (unsigned i = 0; i < 100; ++i)
        stack.push(i);
 
    while (stack.size())
        std::cout << stack.pop() << std::endl;
 
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru