Нужно разобраться со стеком

Тема в разделе "Общие вопросы по С и С++", создана пользователем GladiatoR24, 8 май 2010.

  1. GladiatoR24

    GladiatoR24 Гость

    Доброго времени суток... Помогите, пожалуйста, разобраться со стеком.

    Задание следующие : "написать программу для перестановки элементов стека x(1),x(2),x(3),...x(n)=>x(2),x(3),...x(n),x(1). Элементы пронумерованы в порядке их введения в стек." Нужна программа под dos, без доп. библиотек.

    Приведу пример программы работы со стеком. В программе вводится стек из н эллементов, и выводится на экран...

    Код ( (Unknown Language)):
    #include <iostream.h>

    struct node
    {
    float num;
    node* next;
    };

    //prototip
    node* push(node* , float);
    void printstack(node* );
    node* pop(node*);

    void main()
    {
    float what;
    int n,i;
    node* top=0;
    cout<<"input n\n";
    cin>>n;
    cout<<endl;

    //input in stek
    cout<<"input what"<< n<<"value\n";
    for (i=1;i<=n;i++)
    {
    cin>>what;
    top= push(top, what);
    }

    //print stek
    printstack(top);
    int k=0;

    //output from stek
    while(top)
    {
    if (top->num >0)
    k++;
    top= pop(top);
    }
    cout<<"k="<< k<<"\n";
    }

    node* push(node* top, float what)
    {
    node* pv=new node;
    pv->num=what;
    pv->next=top;
    return pv;
    }

    void printstack(node* top)
    {
    float what;

    cout<<"stek:\n";
    while (top)
    {
    cout<<top->num<<" ";
    top=top->next;

    }
    cout<<endl;
    }

    node* pop(node* top)
    {
    node* pv=top->next;
    delete top;
    return pv;
    }
    Помогите, кто чем может, очень нужна эта программа!!!
     
  2. eReS

    eReS Гость

    Тебе на Си надо или С++? Так как для С++ сдесь можно контейнеры использовать :newconfus: програма станет в 5 раз короче, а для Си - то уже как у тебя
    Код (Text):
    struct node
    {
    float num;
    node* next;
    };
    А потом написать несколь функций для работы с стеком: добавить елемент, извлечь елемент
     
  3. GladiatoR24

    GladiatoR24 Гость

    Мне на С++ нужно, именно со стеком... Вся загвоздка в переносе элемента с последней позиции в первую...
     
Загрузка...

Поделиться этой страницей