Извеждане в обратен ред

Да се напише програма, която позволява да се въвеждат числа до въвеждане на 0 (числата ще са най-много 15) и после ги извежда, разделени с запетая и в ред, обратен на въведения (тоест последното ще бъде изведено първо).

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

One Response to Извеждане в обратен ред

  1. kaloyan каза:
    #include <cstdlib>
    #include <iostream>
     
    using namespace std;
     
    // максимален брой елементи в стека
    const int N=15;
      
    // указател към върха на стека
    int br = 0;
      
    // масив за съхранение на елементите на стека
    int s[N];
      
    // инициализиране на стека
    void init(){
        br=0;
    }
      
    // проверка дали стека е празен
    bool isEmpty() {
        return br==0;
    }
      
    // проверка дали стека е пълен
    bool isFull() {
        return br==N;
    }
      
    // запис на стойността X в стека
    bool push(int X)
    {
        bool ok = !isFull();
        if (ok){
            s[br] = X;
            br++;
        }
        return ok;
    }
      
    // извличане на стойност от стека
    bool pop(int &X)
    {
        bool ok = !isEmpty();
        if (ok) {
            br--;
            X = s[br];
        }
        return ok;
    }
      
    // демонстрация на стек
    int main(int argc, char** argv) {
        init();
        //Въвеждаме числа до въвеждане на 0
        int ch;
    	cout<<"Vavedi chisla: "<<endl;
        do{
        	cin>>ch;
        	if(ch!=0) push(ch);
        } while(ch!=0);
    	//Извеждаме числата
        while(!isEmpty()){
        	pop(ch);
        	cout<<ch;
        	if(!isEmpty()) cout<<',';
        }
         
        return 0;
    }

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