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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2012, 18:05   #1
Irusya
Новичок
Джуниор
 
Регистрация: 10.07.2012
Сообщений: 6
Восклицание задача в си++///стек

Создать стек для целых чисел. Максимальный размер стека вводится с экрана. Создать функции для ввода и вывода элементов стека. Добавить 5 элементов. Удалить (с выводом на экран) 3 элемента.
Irusya вне форума Ответить с цитированием
Старый 10.07.2012, 19:03   #2
Artem_Kokos
Форумчанин
 
Регистрация: 28.02.2011
Сообщений: 122
По умолчанию

Герберт Шилдт на 30-й странице:

Код:
#include <cstdlib>
#include <iostream>

using namespace std;

#define SIZE 10

class stack{
      char stck[SIZE]; //stack him-self
      int tos;         //index of uppoint stack
      
public:
      void init();     //initialization of stack
      void push(char ch); //put simbol in stack
      char pop();      //get simbol
};

//initialization of stack
void stack::init(){
     tos=0;
     }

//pushing simbol in stack
void stack::push(char ch){
     if(tos==SIZE){
        cout << "Stack is full\n";
        return;
        }
     stck[tos] = ch;
     tos++;
     }
     
//get simbol
char stack::pop(){
     if(tos==0){
        cout << "Stack is empty\n";
        return 0;
        }
     tos--;
     return stck[tos];
     }
     
int main(){
    stack s1, s2; //two stacks - two objects with type 'stack' =)
    int i;
    char el;
    //initialization of stacks;
    s1.init();
    s2.init();
    
    for(i=0;i<SIZE;i++){
       cin >> el;
       s1.push(el);
       }
    for(i=0;i<SIZE;i++){
       cin >> el;
       s2.push(el);
       }
    
    for(i=0;i<SIZE;i++) cout << "\nSimbol for s1: " << s1.pop() << "\n";
    cout << "\n";
    for(i=0;i<SIZE;i++) cout << "\nsimbol for s2: " << s2.pop() << "\n";
    cout << "\n";
    
    cout << "\n";
    system("PAUSE");
    return 0;
}
Осталось только под требования задачи подправить. Еще на Википедии в викиучебнике по СИ есть хорошая статья и примеры.
Повторенье - мать ученья. И прибежище для лентяев.
Artem_Kokos вне форума Ответить с цитированием
Старый 10.07.2012, 19:47   #3
Irusya
Новичок
Джуниор
 
Регистрация: 10.07.2012
Сообщений: 6
Радость

спасибо огромное
Irusya вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стек Задача на С++ Electroflower C++ Builder 2 26.12.2011 10:28
Стек Anabella Помощь студентам 1 20.06.2010 21:01
C++ Стек phantom4eg Помощь студентам 0 31.05.2010 01:16
Задача на стек (в Паскале) Mclaren Помощь студентам 2 01.06.2009 00:04
Стек Еленка Помощь студентам 2 06.06.2008 18:58