Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2012, 22:23   #11
Electroflower
Пользователь
 
Аватар для Electroflower
 
Регистрация: 28.11.2011
Сообщений: 23
По умолчанию

#include <iostream>
using namespace std;

class Data{
public:
int dd, mm, yy, hh, min, ss;
Data(){ dd=0;
mm=0;
yy=0; // конструктор по умолчанию
hh=0;
min=0;
ss=0;}

Data(int d, int m, int y, int h, int _m, int s){
dd=d;
mm=m;
yy=y;
hh=h;
min=_m;
ss=s;}

friend ostream& operator<<(ostream &, Data &);
};

template <int a, typename Type>
class Stack{
public:
Type Array[a];
int i;
void download(const Type& p){
i++;
if (i>=a)
{cout<<"Error"; i--;}
else
{Array[i]=p;}
}

void show(){
for(int i2=0; i2<=i; i2++)
{cout<<Array[i2]<<" ";}
cout<<"\n";
}
Type remove(){
Type o;
o=Array[i];
i--;
return o;
}


};



Спасиибо!)
это весь листинг?
Scio Me Nihil Scire
Electroflower вне форума Ответить с цитированием
Старый 05.01.2012, 09:18   #12
Electroflower
Пользователь
 
Аватар для Electroflower
 
Регистрация: 28.11.2011
Сообщений: 23
По умолчанию

#include <iostream>
using namespace std;

class Data{
public:
int dd, mm, yy, hh, min, ss;
Data(){ dd=0;
mm=0;
yy=0; // конструктор по умолчанию
hh=0;
min=0;
ss=0;}

Data(int d, int m, int y, int h, int _m, int s){
dd=d;
mm=m;
yy=y;
hh=h;
min=_m;
ss=s;}

friend ostream& operator<<(ostream &, Data &);
};

template <int a, typename Type>
class Stack{
public:
Type Array[a];
int i;
void download(const Type& p){
i++;
if (i>=a)
{cout<<"Error"; i--;}
else
{Array[i]=p;}
}

void show(){
for(int i2=0; i2<=i; i2++)
{cout<<Array[i2]<<" ";}
cout<<"\n";
}
Type remove(){
Type o;
o=Array[i];
i--;
return o;
}


};




Спасибоо!!)
Это весь листинг?
Scio Me Nihil Scire
Electroflower вне форума Ответить с цитированием
Старый 05.01.2012, 09:27   #13
pinkiller
Форумчанин
 
Регистрация: 29.10.2011
Сообщений: 141
По умолчанию

Я не знаю что такое листинг)
Но это вся прога)
Если есть вопросы как что работает, расскажу)
pinkiller вне форума Ответить с цитированием
Старый 05.01.2012, 09:48   #14
Electroflower
Пользователь
 
Аватар для Electroflower
 
Регистрация: 28.11.2011
Сообщений: 23
По умолчанию

ну вообще-то "листинг"-это я неправильно сказала)
Листинг -это есть бумажная распечатка кода программы=/
А здесь просто программа

просто я пишу на
С++ Builder 6
и вот думаю можно ли как-то эту программу на нем реализовать..
Scio Me Nihil Scire
Electroflower вне форума Ответить с цитированием
Старый 05.01.2012, 10:15   #15
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Electroflower, а Вам библиотеку STL использовать религия не позволяет?
#include <stack>
using namespace std;

Функция контейнера "стек" имеет вид:
template<class T, class Contayner> class stack

Переменная объявляется как:
stack<int> St;
или
stack<string> St;

При работе со стеком используются команды:
top - возвращает (не удаляя) значение вершины стека;
push - Заносит значение элемента в вершину стека;
pop - Выталкивает (удаляет) элемент из вершины стека.

Из кода программы, действительно трудно понять чего Вы добиваетесь, но добиться этого можно гораздо меньшими усилиями чем это зделано у Вас.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 05.01.2012, 11:14   #16
Electroflower
Пользователь
 
Аватар для Electroflower
 
Регистрация: 28.11.2011
Сообщений: 23
По умолчанию

Я только начинаю осваивать(месяц прошел)
значение аббревиатуры stl
вообще неделю назад узнала
Scio Me Nihil Scire
Electroflower вне форума Ответить с цитированием
Старый 05.01.2012, 11:29   #17
pinkiller
Форумчанин
 
Регистрация: 29.10.2011
Сообщений: 141
По умолчанию

ЭЭэй) Юзай мою прогу) Она четкая) Внатуре четкая) а каждое действие видно как выполняется а не зарыто в библиотеки) xD
pinkiller вне форума Ответить с цитированием
Старый 05.01.2012, 11:45   #18
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Electroflower Посмотреть сообщение
Я только начинаю осваивать(месяц прошел)
значение аббревиатуры stl
вообще неделю назад узнала
Учишься где-то, или сама по себе? Почему билдер то?
_Bers вне форума Ответить с цитированием
Старый 05.01.2012, 12:03   #19
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от pinkiller Посмотреть сообщение
ЭЭэй) Юзай мою прогу) Она четкая) Внатуре четкая) а каждое действие видно как выполняется а не зарыто в библиотеки) xD
Не забивайте девушке мозги. Она ведь Билдер изучает, а не "чистый С". Со-временем разберётся во всём.
Зарывайтес в библиотеки и не слушайте никого.

Вот, то что написано у pinkiller, только через STL:

Код:
#include <vcl.h>
#include <stack>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
using namespace std;
stack<int> STACK;// Объявляем стек как глобальную переменную (чтоб не париться с указателями)

TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
// Поместить в стек целое число
void __fastcall TForm1::stack_push(int a)
{
STACK.push(a);
}
//---------------------------------------------------------------------------
// Прочитать из стека целое число
int __fastcall TForm1::stack_top()
{
return STACK.top();
}
//---------------------------------------------------------------------------
// Прочитать из стека целое число и удалить
int __fastcall TForm1::stack_pop()
{
int a = STACK.top();
STACK.pop();
return a;
}
Цитата:
Сообщение от _Bers Посмотреть сообщение
Не запустился. Говорит для запуска нужен файл: vcl60.bpl
Нужен тем, у кого Билдер 6-й не установлен.
Цитата:
Сообщение от Electroflower Посмотреть сообщение
Блин, что-то как-то странно...=(
у меня запускается....
Для того, что-бы запускался у всех, нужно проделать следующее:
Для начала надо зайти Project->Options затем: На вкладке Compiler нажать "Release", на вкладке Packages снять галку с "Build with runtime packages" и на вкладке Linker снять галку с "Use dynamic RTL"
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 05.01.2012 в 12:12.
Smitt&Wesson вне форума Ответить с цитированием
Старый 05.01.2012, 12:12   #20
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Не забивайте девушке мозги. Она ведь Билдер изучает, а не "чистый С". Со-временем разберётся во всём.
Зарывайтес в библиотеки и не слушайте никого.
Есть такая педагогическая практика: сначала учат самостоятельно изготавливать динамические массивы, и только потом - юзать вектора. А не наоборот. Ага.
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стек С++ Верунчик Помощь студентам 3 28.09.2011 08:39
Стек. pa6kevi4 Помощь студентам 5 12.03.2010 15:38
C++ и стек MaGWaY_minsk Помощь студентам 1 11.11.2009 01:08