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

Да се въведат в стек n числа и да се отпечатат тези, които са по-големи от последното.

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

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

  1. kaloyan каза:
    #include <cstdlib>
    #include <iostream>
     
    using namespace std;
     
    // максимален брой елементи в стека
    const int N=50;
      
    // указател към върха на стека
    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;
    }
      
    // печат на стека
    void print() {
        cout<<"top: |"<<br<<"|  stack: |";
        for(int i=0;i<br;i++) cout<<s[i]<<',';
        cout<<"| :-)"<<endl;
    }
      
    // демонстрация на стек
    int main(int argc, char** argv) {
        init();
        int n;
        int ch;
    	cout<<"Broi chisla: ";
        cin>>n;
        //Въвеждаме числата
        for(int i=1; i<=n; i++){
        	cin>>ch;
        	push(ch);
        }
        //Извличаме последното число, въведено в стека
        pop(ch);
        int max=ch;
    	//Извличаме числата от стека и ги сравняваме
        while(!isEmpty()){
        	pop(ch);
        	if(max<ch) cout<<ch<<endl;
        }
         
        return 0;
    }

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