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

Стек для хранения данных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти среднее значение значений ф-ции http://www.cyberforum.ru/cpp-beginners/thread699748.html
Помогите пожалуйста, нужно написать оператор, который бы вычислял среднее значение значений ф-ции y=cos5x при определенном Х , который вводится с клавиатуры. Вот код#include <iostream> #include <cmath> using namespace std; int main() { float sum = 0.0; float x; cout<<"Input value: "; cin>>x;
C++ Составить программу,которая из заданной строки символов выводить буквы по алфавиту составить программу,которая из заданной строки символов выводит буквы по алфавиту http://www.cyberforum.ru/cpp-beginners/thread699746.html
Извлечение компонент RGB из .bmp файла C++
Приветствую участников форума! Собственно проблема: интересует написание функции для извлечения значений RGB из .bmp файла в .txt,. Мучаю гугл не первый день и даже неделю, прочел множество статей прежде, чем обратиться сюда. Увы мои знания плюсов пока недалеки от нулевых и даже совсем чуть чуть продвинутые статьи мне помочь не могут.:wall:
Шаблон функции для удвоения максимального значения из трех аргументов C++
Написать программу, которая использует шаблон функции для удвоения максимального значения из трех аргументов. Проверьте программу, используя тройки целых чисел, чисел с плавающей точкой и символов.
C++ кодирования Хаффмана http://www.cyberforum.ru/cpp-beginners/thread699729.html
Почему после введения двух символов пропадает окно? #include<iostream.h> #include<string.h> #include<math.h> #include<stdlib.h> #include<conio.h> struct tree {
C++ Обработка значения, введенного с клавиатуры Доброго времени суток. Хочу Вас попросить) Измените этот код пж так,что бы он разсчитывал значение ф-ции начиная с того Х, который вводится с клавиатуры, а не все значения + возможность подсчитать среднее арифметическое тех значений, которые выводятся на экран при определенном значении х. #include <iostream> #include <cmath> using namespace std; int main() { float sum = 0.0; ... подробнее

Показать сообщение отдельно
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
16.11.2012, 23:33     Стек для хранения данных
ещё примерчик
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include <iostream>
#include <algorithm>
#include <stdexcept>
#include <string>
 
template<typename T>
class Vector
{
public:
    Vector() : psize(0), p(0){}
    void push_back(T const& lhs)
    {
            T* pt = static_cast<T*>(operator new[](sizeof(T) * (psize + 1)));
            for(size_t i = 0; i < psize; ++i)
            {
                new(pt + i)T(p[i]);
            }
            new(pt + psize)T(lhs);
            std::swap(p, pt);
            for(size_t i = 0; i < psize; ++i)
            {
                pt[i].~T();
            }
            operator delete[](pt);
            pt = 0;
            ++psize;
    }
    void pop_back()
    {
        if(psize)
            --psize;
    }
    T& back()
    {
        if(!psize)
        {
            throw std::out_of_range("Vector<T>::back failed");
        }
        return p[psize - 1];
    }
    void clear()
    {
        for(size_t i = 0; i < psize; ++i)
        {
            p[i].~T();
        }
        operator delete[](p);
        p = 0;
        psize = 0;
    }
    size_t size() const
    {
        return psize;
    }
    ~Vector()
    {
        for(size_t i = 0; i < psize; ++i)
        {
            p[i].~T();
        }
        operator delete[](p);
        p = 0;
        psize = 0;
    }
private:
    size_t psize;
    T* p;
    Vector(Vector const&);
    Vector& operator=(Vector);
};
 
template<typename T, typename Container = Vector<T>>
class Stack
{
public:
    void push(T const& lhs)
    {
        con.push_back(lhs);
    }
    void pop()
    {
        con.pop_back();
    }
    T& top()
    {
        return con.back();
    }
    void clear()
    {
        con.clear();
    }
    size_t size() const
    {
        return con.size();
    }
private:
    Container con;
};
 
struct Student
{
    Student(std::string const& name, std::string const& group, double const mark) :
        name_(name), group_(group), mark_(mark){}
    std::string name_, group_;
    double mark_;
};
 
std::ostream& operator<<(std::ostream& ost, Student const& st)
{
    return ost << st.name_ << '\n' << st.group_ << '\n' << st.mark_;
}
 
int main()
{
    Stack<Student> stack;
    stack.push(Student("name1", "group1", 4.56));
    stack.push(Student("name2", "group2", 3.3));
    stack.clear();
    stack.push(Student("name3", "group3", 4.09));
    stack.push(Student("name4", "group4", 3.33));
    size_t stacksize = stack.size();
    for(size_t i = 0; i < stacksize; ++i)
    {
        std::cout << "stack.size is " << stack.size() << std::endl;
        std::cout << stack.top() << std::endl;
        stack.pop();
    }
    return 0;
}
 
Текущее время: 22:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru