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

Определить количество элементов в стеке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream http://www.cyberforum.ru/cpp-beginners/thread162966.html
Здравствуйте! Я хотел начать изучать язык C++. Набрал литературы. Установил Microsoft Visual C++ 2005 Express Edition. Образ диска скачал с сайта майкрософт. Установщик установил помимо Microsoft Visual C++ 2005 Express Edition ещё MSDN и SQL Server. Когда начал учиться по книгам, то возникла проблема - не получается никак ничего опробовать на практике. Например, вот первый пример программы...
C++ вопрос методики обучения После прочтения учебника Подбельского (си++) столкнулся с проблемой: что делать дальше? практиковаться, практиковаться, практиковаться..а потом? Посоветуйте пожалуйста литературу. По какому учебнику обучались вы? Откуда можно получить необходимую информацию? Благодарю за ответы. http://www.cyberforum.ru/cpp-beginners/thread162935.html
C++ Указатели: правильно ли я понял вопрос?
Есть задание Решите следующие задачи. Полагайте, что беззнаковые целые хранятся в 2 байтах, и что начальный адрес массива находится в ячейке памяти 1002500. a) Объявите массив values типа unsigned int с 5 элементами и присвойте элементам на- чальные значения в виде четных чисел от 2 до 10. Полагайте, что определена символи- ческая константа SIZE, равная 5. b) Объявите указатель vPtr,...
Создать класс описывающий множество C++
Создать класс описывающий множество и производный от него с реализацией функций обьединения, пересичения, дополнения, деления и симетрического деления...Не могу написать функции для производного класс...
C++ Вывести среднюю сумму по броскам для обоих участников (игра "кубики") http://www.cyberforum.ru/cpp-beginners/thread162929.html
Игра «кубики». Условие: имеется два игральных кубика со значениями от 1 до 6. Игра происходит с компьютером, кубики бросаются поочередно. Побеждает тот, у кого сумма выпавших очков по итогам пяти бросков больше. Предусмотрите возможность получения первого хода человеком или компьютером. Кубики отображаются с помощью символов. В конце игры необходимо выводить среднюю сумму по броскам для обоих...
C++ Какая есть библиотека для работы с ftp? есть ли какая либо библиотека для работы с ftp? <ftp.h> -?если нет то где можно скачать? Программирую на С++ в КОНСОЛИ. Программа под винду. я новичок так что извените если что не так. подробнее

Показать сообщение отдельно
bobromet
24 / 24 / 1
Регистрация: 06.03.2010
Сообщений: 59
02.09.2010, 22:21     Определить количество элементов в стеке
NikolaWhite Я не буду ничего добавлять в твой код, ни изменять, но попробую немного помочь.)
вот тебе небольшая прога которая занимается только тем что делает стеки и показывает кол-во элементов.

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
/*       stack.h  -  это хедер   */
 
//декларируем класс
template<class T, int number>
class Stack
{
    int count;
    T *arr;
 
public:
    Stack();
    void push(T);
    int top();
};
 
// дефолт-конструктор
template<class T, int number>
Stack<T, number>::Stack()
{
    arr = new T[number]; // делаем новый массив
    count = 0;           //cчетчик на нуль
}
 
//тут должен быть дестрактор !!!
 
 
//тут получим твой ТОП :)
template<class T, int number>
int Stack<T, number>::top()
{
    //ну вот, возвращаем номер последнего
    //заполненого индекса
    return count;
}
 
 
//заполняем стек
template<class T, int number>
void Stack<T, number>::push(T data)
{
    if(count < number)
    {
        arr[count] = data;
        count++;
    }
    else exit(1); //стек полон, выходим
}
заметь, тут нет дестрактора! также нет метода который чистит стек, читает и т.д., но зато показывает количество элементов .))

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
#include <iostream>
#include <string>
#include "stack.h"
using namespace std;
 
int main()
{
    Stack<string, 5> stack;//тип стринг, размер 5
    int head;
 
    stack.push("hey, ");    //заполняем первые три индекса
    stack.push("student");
    stack.push("!!!");
 
    head = stack.top();//теперь равен 3
    cout << head << endl;
 
    // ради эксперемента делаем другой массив с совершенно другим типом
 
    Stack<int, 8> stack2;
 
    for(int i = 0; i < 6; i++)
        stack2.push(i);
    
        head = stack2.top();   // тут 6 элементов
    cout << head << endl;
 
 
    //system("pause");
    return 0;
}
ну вот .) Надеюсь чем то помог, если так, то респект мне и уважуха

Не по теме:


И еще, попробую тебя смотивировать, - лично я еще дней десять назад задавал вопросы на этом форуме что такое стек и с чем его едят, два дня назад я начал знакомится с шаблонами(template),
это на сам деле не сложно.)) Не забивай себе голову а пиши побольше кода, пусть это будет г***код (типа этого),
но тем не менее.)




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