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

Стеки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Почему в выводе выдаются предупреждения "warning C4101: sm: неиспользованная локальная переменная" http://www.cyberforum.ru/cpp-beginners/thread687619.html
// gd.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include "stdlib.h" #include "math.h" #include "stdio.h" #include "conio.h" #include "locale.h" void main()
C++ Надо определить матрицу как МОПРЕД Народ пожалуйста помогите!!!! 3 4 5 6 4 6 7 -3 3 -4 5 2 http://www.cyberforum.ru/attachment.php?attachmentid=197201&stc=1&d=1351940705 http://www.cyberforum.ru/cpp-beginners/thread687617.html
Найти вектор, в котором записаны максимумы всех строк матрицы C++
По заданной квадратной матрице найти вектор, в котором записаны максимумы всех строк матрицы.
Boost C++ Обертка над boost::asio
Вот класс обертки: class NetworkManager{ std::string CIP,IP; unsigned short CPort,Port; static boost::asio::io_service io; boost::asio::ip::tcp::socket *sock; char TRY; bool connected;
C++ Реализация итерационных циклов С++ http://www.cyberforum.ru/cpp-beginners/thread687588.html
Помогите, пожалуйста, с написанием программы
C++ Странный порядок вывода сообщений на экран Вот код: #include <iostream> using namespace std; #define SIZE 10 // Объявление класса stack для символов: class stack { char stck; // содержит стек int tos; // индекс вершины стека подробнее

Показать сообщение отдельно
Liberation
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 157
04.11.2012, 19: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
87
88
89
90
91
92
93
94
#pragma once
#include <iostream>
using namespace std;
template<class NODETYPE>
class Stack
{
protected:
    int count;//кількість
    struct Node//структура вузол
    {
        NODETYPE data;//дані шаблонного типу
        Node* prev;//покажчик на попередній елемент
        NODETYPE& getData(void)//функція що повертає сслику на дані
        {
            return data;// повертаємо дані
        }
    };
    Node* bottom;//покажчик на вершину стеку
public:
    Stack(void):count(0), bottom(0)//облнуляємо змінні в констукторі
    {
    }
    ~Stack(void)//дестуктор
    {
        clear();//викликаємо функцію очищення
    }
    
    void push(NODETYPE someData)//функція яка добаляє елемент на вершину стеку, приймає на вхід дані
    {
        Node* Temp = new Node;//створюємо новий елемент
        Temp->data = someData;//заповнюємо його дані вхідними даними
        Temp->prev = bottom;//вказуємо що вершина знаходиться перед ним
        bottom = Temp;//тепер вершина і є він
        count++;//інкрементуємо лічильник
    }
    void pop(void)//функція видалення елементу з вершини
    {
        if(!bottom)//у разі коли вершини не існує
        {
            cout<<"Err. Stack is empty."<<endl;//виводимо на екран помилку
            return;//виходимо з функції, не повертаючи значення
        }
        Node* pTemp = bottom->prev;//створюємо новий елемент який зберігає в собі елемент на рівень нижчий вершини
        delete bottom;//видаляємо вершину
        bottom = pTemp;//нова вершина рівна тому елементу
        count--;//декрементуємо лічильник
    }
    void clear(void)//функція очищення
    {
        while(bottom)//циклічно виконуємо доки існую вершина
        {
            Node* delPtr = bottom->prev;//створюємо новий елемент який зберігає в собі елемент на рівень нижчий вершини
            delete bottom;//видаляємо вершину
            bottom = delPtr;//нова вершина рівна тому елементу
        }
        count = 0;//обнуляємо лічильник
        bottom = NULL;//обнуляємо вершину
    }
    NODETYPE getBottomData(void)const//функція що повертає дані з вершини
    {
        return bottom->data;//повертаємо дані вершини
    }
    int rCount(void)const//функція що повертає кількість елементів
    {
        return count;//повертаємо лічильник(поточна кількість)
    }
    friend ostream& operator<<(ostream &o, const Stack &obj)//оператор запису в поток
    {
        if(!obj.bottom)//у разі коли обєкту не існує
        {
            o<<"Err. Stack is empty."<<endl;//записуємо в поток меседж про помилку
            return o;//повертаємо ссилку на поток для того щоб можна було робити так cout<<stack<<"lolwto?";
        }
        o<<"\n";//записуємо в поток перехід на новий рядок
        Node* p = obj.bottom;//створюємо новий покажик який зберігає в собі вершину переданого в оператор обєкту
        for(; p; p = p->prev)//циклічно перебраємо всі елементи покажчика
        {
            o<<" * "<<p->data<<" * "<<endl;//записуючи в поток виведення дані з зірочками по сторонам і переходами на новий рядок
        }
        o<<endl;//перехід на новий рядок
        return o;
    }
    friend istream& operator>>(istream &i, Stack &obj)//оператор зчитування з потоку
    {
        Node* b = obj.bottom;//створюємо новий покажик який зберігає в собі вершину переданого в оператор обєкту
        for(; obj.bottom; obj.bottom = obj.bottom->prev)//циклічно перебраємо всі елементи об'єкту
        {
            cout<<"Insert stack data: ";//виводимо на екран "введіть дані"
            i>>obj.bottom->getData();//зчитуємо  потоку дані записуючи їх в дані елементу стеку
        }
        obj.bottom = b;//відновлюємо покажчик на голову
        return i;//повертаємо ссилку на поток
    }
};
а как будет выглядеть функция main к этому примеру?
 
Текущее время: 01:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru