Отпечатване в обратен ред и в реда на въвеждане

Да се въведат в стек n числа и после да се отпечатат те първо в ред обратен на въведения, а после в реда, в който са въведени.

Упътване: За целта използвайте класа за стек, написан от Калоян.

Публикувано в 12а с етикети . Постоянна връзка.

3 Responses to Отпечатване в обратен ред и в реда на въвеждане

  1. krisizdravi95 каза:
    
    
    const int N=50;
      
    class Stack
    {
        public:
        // ???????? ??? ????? ?? ?????
        int br;
        // ????? ?? ?????????? ?? ?????????? ?? ?????
        int s[N];
        Stack();
        void copy(Stack &s);
        bool isEmpty() const;
        bool isFull() const;
        bool push(int X);
        bool pop(int &x);
        void print() const;
    };
    // ?????????????? ?? ?????
    Stack::Stack()
    {
        br=0;
    }
    void Stack::copy(Stack &s)
     {int a;
          while(!isEmpty())
     { pop(a);
     s.push(a);
    }
    } 
    
    // ???????? ???? ????? ? ??????
    bool Stack::isEmpty() const {
        return br==0;
    }
      
    // ???????? ???? ????? ? ?????
    bool Stack::isFull() const {
        return br==N;
    }
      
    // ????? ?? ???????? ? ?????
    bool Stack::push(int X)
    {
        bool ok = !isFull();
        if (ok){
            s[br] = X;
            br++;
        }
        return ok;
    }
      
    // ????????? ?? ???????? ?? ?????
    bool Stack::pop(int &X)
    {
        bool ok = !isEmpty();
        if (ok) {
            br--;
            X = s[br];
        }
        return ok;
    }
       
        
        
    // ????? ?? ?????
    void Stack::print() const {
        cout<<"top: |"<<br<<"|  stack: |";
        for(int i=0;i<br;i++) cout<<s[i]<<'|';
        cout<<endl;
    }
      
    // ?? ?? ??????? ? ???? n ????? ? ?? ?? ????????? ????,
    // ????? ?? ??-?????? ?? ??????????
    int main(int argc, char *argv[])
    {
        int n;
        cout<<"Vuvedete n: ";
        cin>>n;
        cout<<"Vuvedete chisla:";
        Stack stk, stk1;
        int chislo;
      for(int i=1; i<=n; i++) {
        cin>>chislo;
        stk.push(chislo);
      }
      stk.copy(stk1);
      stk1.print();
      stk1.copy(stk);
      stk.print();
    
    
    
  2. kr1stiqn1995 каза:
    #include <cstdlib>
    #include <iostream>
      
    using namespace std;
     
      // ?????????? ???? ???????? ? ?????
        const int N=50;
      
    class Stack
    {
        public:
        // ???????? ??? ????? ?? ?????
        int br;
        // ????? ?? ?????????? ?? ?????????? ?? ?????
        int s[N];
        Stack();
        bool isEmpty() const;
        bool isFull() const;
        bool push(int X);
        bool pop(int &x);
        void print() const;
    };
    // ?????????????? ?? ?????
    Stack::Stack()
    {
        br=0;
    }
      
    // ???????? ???? ????? ? ??????
    bool Stack::isEmpty() const {
        return br==0;
    }
      
    // ???????? ???? ????? ? ?????
    bool Stack::isFull() const {
        return br==N;
    }
      
    // ????? ?? ???????? ? ?????
    bool Stack::push(int X)
    {
        bool ok = !isFull();
        if (ok){
            s[br] = X;
            br++;
        }
        return ok;
    }
      
    // ????????? ?? ???????? ?? ?????
    bool Stack::pop(int &X)
    {
        bool ok = !isEmpty();
        if (ok) {
            br--;
            X = s[br];
        }
        return ok;
    }
      
    // ????? ?? ?????
    void Stack::print() const {
        cout<<"top: |"<<br<<"|  stack: |";
        for(int i=0;i<br;i++) cout<<s[i]<<'|';
        cout<<endl;
    }
      
      
    int main ( )
    {
      int n;
      cout<<"vavedete n:";
      cin>>n;
      // ?????????????? ?????
      Stack stk;
      // ????????? ???????
      int chislo;
      for(int i=1; i<=n; i++) {
        cin>>chislo;
        stk.push(chislo);
      }
      
      Stack stk1;
       for(int j=1; j<=n; j++) {
       stk.pop(chislo);
       stk1.push(chislo);
       cout<<chislo<<endl;
    }
       for(int j=1; j<=n; j++) {
       stk1.pop(chislo);
       
    }
          
      
      system("pause");
      return 0;
    }
    

Вашият коментар