Числата, по-малки от последното

Да се въвеждат в стек числа до въвеждане на 0 (числата ще са не-повече от 10) и да се отпечатат тези, които са по-малки от последното (преди нулата).

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

One Response to Числата, по-малки от последното

  1. kaloyan каза:
    #include <cstdlib>
    #include <iostream>
     
    using namespace std;
     
    // максимален брой елементи в стека
    const int N=10;
      
    // указател към върха на стека
    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);
        //Извличаме последното въведено число
        pop(ch);
        int max=ch;
        //Извличаме числата от стека и проверяваме дали са по-малки
        cout<<endl;
        while(!isEmpty()){
        	pop(ch);
        	if(ch<max) cout<<ch<<endl;
        }
         
        return 0;
    }

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