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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2010, 02:03   #1
innaa639
Пользователь
 
Аватар для innaa639
 
Регистрация: 13.11.2008
Сообщений: 80
По умолчанию Стеки на С++

Очень нажна программа на С++ добавление и удаление со стеков. Помогите кто может,плиз. Согласна даже за оплату,напишите!!!!!!!
innaa639 вне форума Ответить с цитированием
Старый 14.10.2010, 04:14   #2
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

Код:
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include<math.h>
using namespace std;

struct STACK
{

    int info;
    STACK *next;

};

int Empty(STACK *pstack)
{

    if (pstack==NULL)
        return 0;
    else
        return 1;

}

void Add(STACK **pstack)
{

    STACK *tmp = new STACK;
    tmp->info=rand()%100;
    tmp->next=*pstack;
    *pstack=tmp;

}

void Del(STACK **pstack)
{

    STACK *tmp=*pstack;
    *pstack=(*pstack)->next;
    delete tmp;

}

void Show(STACK *pstack)
{

    STACK *tmp=pstack;
    while(tmp!=NULL)
    {
        cout << tmp->info << " ";
        tmp=tmp->next;
    }

}

void ClearAll(STACK **pstack)
{

    STACK *tmp;
    while(*pstack!=NULL)
    {
        tmp=*pstack;
        *pstack=(*pstack)->next;
        delete tmp;
    }

}

int main()
{
    srand(0);
    STACK *stack=NULL;
    int num;
    char otv;
    do
    {

        cout << "1. Dobavlenie elementov v vershinu" << endl
             << "2. Udalenie elementov iz vershini" << endl
             << "3. Vivod elementov" << endl
             << "0. Vihod" << endl;
        cout << " = ";
        cin >> otv;
        switch(otv)
        {
        case '1':

            cout << endl << "Skolko elementov dobavit" << endl;
            cin >> num;
            for (int i=0; i<num; i++)
                Add(&stack);
            cout << endl << "elementi dobavleni" << endl;
            break;

        case '2':

            if (Empty(stack)==0)
                cout << endl << "Stek pust" << endl;
            else
            {
                Del(&stack);
                cout << endl << "Element udalen iz vershini" << endl;
            }
            break;

        case '3':

            if (Empty(stack)==0)
                cout << endl << "Stek pust" << endl;
            else
            {
                cout << endl << "Elementi:" << endl;
                Show(stack);
                cout << endl;
            }
            break;

        case '0':

            ClearAll(&stack);
            break;
        default:
            cout << endl << "Oshibka" << endl;
            break;

        }

    }
    while(otv!='0');
    cin.get();

}
Изо всей благодати
В руках крепко сжатых
Я донесу только капли

Последний раз редактировалось Roof; 14.10.2010 в 04:27.
Roof вне форума Ответить с цитированием
Старый 14.10.2010, 10:05   #3
sergey.d
Пользователь
 
Регистрация: 23.08.2010
Сообщений: 98
По умолчанию

Было уже:
http://www.programmersforum.ru/showt...914#post625914
Здесь более ООП

Последний раз редактировалось sergey.d; 14.10.2010 в 10:08.
sergey.d вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стеки в Delphi Koby Помощь студентам 0 02.06.2010 20:09
СТЕКИ на турбо С....... dozor Общие вопросы C/C++ 0 25.04.2010 14:29
Стеки в Си n4sfe Помощь студентам 0 28.11.2009 13:49
Стеки olli Общие вопросы C/C++ 7 13.11.2009 15:27
Задачи. Стеки Vladislav_87 Паскаль, Turbo Pascal, PascalABC.NET 1 23.05.2008 16:17