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


Решението е от Калоян:
#include <cstdlib> #include <iomanip> #include <iostream> using namespace std; using namespace std; // максимален брой елементи в опашката const int N=5; // указател към върха на опашката int head = 0; // указател към края на опашката int tail = 0; // масив за съхранение на елементите на опашката int s[N]; // инициализиране на опашката void init() { head=0; tail=0; for(int i=0;i<=N;i++) s[i]=0; } // проверка дали опашката е празна bool isEmpty() { return head==tail; } // проверка дали опашката е пълна bool isFull() { return ((tail+1)%N)==head; } // запис на стойност в опашката bool push(int X) { bool ok = !isFull(); if (ok){ s[tail] = X; tail++; tail%=N; } return ok; } // извличане на стойност от опашката bool pop(int &X) { bool ok = !isEmpty(); if (ok) { X = s[head]; head++; head%=N; } return ok; } int main ( ) { // инициализираме опашката init(); int n, ch, min, max; cout<<"Broi chisla: "; cin>>n; for(int i=0; i<n; i++){ cin>>ch; push(ch); } cout<<"Vavedete diapazon: "; cin>>min>>max; cout<<"Chisla v diapazona:"<<endl; while(!isEmpty()){ pop(ch); if((ch>=min) && (ch<=max)) cout<<ch<<endl; } cout<<endl; return 0; }