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

Односвязные списки: реализация стека - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ C++ / дописать в текст http://www.cyberforum.ru/cpp-beginners/thread73014.html
Вобщем программа читает из файла текст, заменяет нужные слова и выводит его. Но надо чтобы при выводе ещё вставлялись некоторые слова прям в начало текста. Как это сделать?
C++ Написать программу "Студент" двумя видами Нужно написать следующую программу: с использованием структуры, состоящей из переменных, определяющих объект «Студент»: фамилия, номер группы: А. Инициализация элементов структуры осуществляется... http://www.cyberforum.ru/cpp-beginners/thread73012.html
Инициализация переменной C++
class cRectangle{ public: cRectangle(); ~cRectangle(); void Rect(char h_symb, char v_symb, int init_x, int init_y, int h_symb_count, int v_symb_count); void...
C++ Нет подходящего конструктора!?!?!
Вот...задали задачу....создать шаблон список...добавления елементов в список....удаления и всякое такое.... написал....но выдает ошибку....а как исправить уже нету мысли.... помогите кто...
C++ Одномерный массив. http://www.cyberforum.ru/cpp-beginners/thread72990.html
Составить программу, выполняющую с одномерным массивом следующие действия: В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) произведение отрицательных элементов массива;...
C++ Поменять местами первую строку в матрице с последней подскажите как поменять местами первую строку в матрице с последней???если матрица размера N на M подробнее

Показать сообщение отдельно
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
11.12.2009, 10:18
рабочий код.
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/*
Я никак не могу реализировать полноценный стек не используя масив,
у меня есть такой код , но он не пашет, что и не странно, 
так как о ссылках у нас была лекция только по паскалю, 
а как это реализуруется на си/си++ не знаю..
Если кто может дать ссылку на сответсвтующие материалы 
и растолковать буду весьма благодарен..
*/
#include<iostream>
#define UT unsigned short int
struct nodes
{
    UT data;
    nodes* prior;
};
 
class stacks
{
    public:
        stacks(){top = NULL;}
        ~stacks(){}
        void push(UT data)
        {
            nodes* tmp = new nodes;
            tmp->prior = top;
            tmp->data = data;
            top = tmp;
        }
        
        void pop(UT *p)
        {
            *p = top->data;
            nodes* tmp;
            tmp = top;
            top = top->prior;
            delete tmp;         
        }
        
        void clear()
            {
                if (top==NULL) return;
                nodes* tmp = top;
                while (true)
                {
                    if(top->prior!=NULL) 
                        {
                            tmp = top;
                            top = top->prior;
                            delete tmp; 
                        }
                    else {  delete top;  break; }
                }
            }
        
        bool empty(){return (top==NULL);} 
    private:
        nodes* top;
};
 
stacks a;
 
int main()
{
    using namespace std;
    char key;
while(true)
{
    system("cls");
    cout<<"STACK:\n 1 - push;\n 2 - pop & write;\n 3 - exit.\n";
    cin>>key;
    switch(key)
    {
        case '1':
            {
                cout<<"\n pushing:\n input element:   ";
                UT d;
                cin>>d;
                a.push(d);
                cout<<"\t OK!!\n";
                break;
            }
        case '2':
            {
                cout<<"\n poping:\n";
                UT tmp;
                if(a.empty()) cout<<"\n is empty";
                while(!a.empty()) {a.pop(&tmp);cout<<tmp<<endl;}
                cout<<"\t\t\t\t OK!!\n";
                system("pause");
                break;
            }
        case '3':{cout<<"\n exiting: "; goto end;}
        default: {cout<<"\n input 1, 2 or 3, please...\n";system("pause");}
    }
}
 
end:        
    a.clear();
    cout<<"\texit is correct."<<endl;
    system("pause");
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru