Като се използва за основа реализацията на опашка чрез глобален масив, да се направи реализация на опашка чрез клас.
Всички задачи за:
Оградете кода с:
[c] за С++ програми [/c]
[pascal] за паскал [/pascal]Достъп до сайта:
С повишена трудност:
Задачите със звездичка са с повишена трудност - решавайте ги, ако сте решили другите.-
Последни задачи:
Последни решения:
- Marin

за Къде се намира точка - Marin

за Вмъкване и изтриване на елемент * - Marin

за Позицията на X - Alexander1





за Броят на максималните елементи - Alexander1





за Броят на максималните елементи - Marin

за Пари за закуска - Alexander1





за Ученици с дадена оценка - Alexander1





за По-големи от средното
- Marin
Топ участници за момента:
kaloyan164 решения/коментараGadget131 решения/коментараdreanor112 решения/коментараmarant74 решения/коментараsup3rEva68 решения/коментараБоряна65 решения/коментараNadq53 решения/коментараmaleboldjia48 решения/коментараkrisizdravi9543 решения/коментараMartinPlamenov38 решения/коментараЗадачи за дата:
ноември 2025 П В С Ч П С Н « февр. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Предишни задачи:
- февруари 2017 (38)
- януари 2017 (16)
- декември 2016 (17)
- ноември 2016 (14)
- октомври 2016 (26)
- юни 2016 (3)
- май 2016 (15)
- април 2016 (12)
- март 2016 (14)
- февруари 2016 (9)
- май 2015 (2)
- април 2015 (8)
- март 2015 (8)
- февруари 2015 (13)
- януари 2015 (11)
- декември 2014 (9)
- ноември 2014 (24)
- октомври 2014 (16)
- юни 2014 (2)
- май 2014 (8)
- април 2014 (10)
- март 2014 (14)
- февруари 2014 (22)
- януари 2014 (25)
- декември 2013 (27)
- ноември 2013 (37)
- октомври 2013 (38)
- септември 2013 (2)
- юни 2013 (6)
- май 2013 (10)
- април 2013 (19)
- март 2013 (35)
- февруари 2013 (32)
- януари 2013 (29)
- декември 2012 (28)
- ноември 2012 (37)
- октомври 2012 (26)
- септември 2012 (3)
- май 2012 (16)
- април 2012 (16)
- март 2012 (27)
- февруари 2012 (10)
- януари 2012 (13)
- ноември 2011 (16)
- октомври 2011 (8)
- април 2011 (4)
- март 2011 (19)
- февруари 2011 (19)
- януари 2011 (18)
- декември 2010 (25)
- ноември 2010 (10)
- октомври 2010 (33)
- септември 2010 (1)
По теми:
- break
- бройни системи
- булев тип
- вариантен избор
- вложена условна команда
- вложени цикли
- дати
- динамична променлива
- дървета
- запис
- изброим тип
- класове
- манипулатори на извеждането
- масив
- масив от записи
- многомерни масиви
- множества
- модули
- низ
- низове
- низови функции
- опашки
- отпечатване
- преобразуване на типовете
- реален тип
- рекурсия
- символен тип
- сортиране на масиви
- специфични операции за цели числа
- списъци
- стекове
- структури
- текстов файл
- типизирани файлове
- условна команда
- файл
- функции
- хедър файлове
- целочислен тип
- цикъл do-while
- цикъл for
- цикъл repeat
- цикъл while
- цифри на число
- шах
Всички задачи:
- 2016-2017 (111)
- Архив задачи (791)
- 2010-2011 (131)
- Информатика (131)
- 2011-2012 (109)
- ЗИП Информатика (4)
- 10в (4)
- Информатика (105)
- ЗИП Информатика (4)
- 2012-2013 (227)
- 2013-2014 (182)
- 2014-2015 (91)
- 2015-2016 (53)
- 2010-2011 (131)
Мета
Препоръчваме хостинг:

Ето и решението, което направихме заедно в часа:
#include <iostream> #include <iomanip> #include <windows.h> using namespace std; // максимален брой елементи в опашката const int N=5; class Queue { private: // указател към върха на опашката int head; // указател към края на опашката int tail; // масив за съхранение на елементите на опашката int s[N]; // инициализиране на опашката void init(); public: Queue(); // проверка дали опашката е празна bool isEmpty(); // проверка дали опашката е пълна bool isFull(); // запис на стойност в опашката bool push(int X); // извличане на стойност от опашката bool pop(int &X); // печат на опашката void print(); }; Queue::Queue() { init(); } // инициализиране на опашката void Queue::init() { head=0; tail=0; for(int i=0;i<=N;i++) s[i]=0; } // проверка дали опашката е празна bool Queue::isEmpty() { return head==tail; } // проверка дали опашката е пълна bool Queue ::isFull() { return ((tail+1)%N)==head; } // запис на стойност в опашката bool Queue::push(int X) { bool ok = !isFull(); if (ok){ s[tail] = X; tail++; tail%=N; } return ok; } // извличане на стойност от опашката bool Queue::pop(int &X) { bool ok = !isEmpty(); if (ok) { X = s[head]; head++; head%=N; } return ok; } // печат на опашката void Queue::print() { cout<<endl<<"head : "<<head<<" tail: "<<tail<<"\nqueue: | "; if(!isEmpty()) if (head<=tail) for(int i=head;i<tail;i++) cout<<setw(3)<<s[i]<<" | "; else { for(int i=head;i<N;i++) cout<<setw(3)<<s[i]<<" | "; for(int i=0;i<tail;i++) cout<<setw(3)<<s[i]<<" | "; } cout<<endl<<"array: | "; for(int i=0;i<N;i++) cout<<setw(3)<<s[i]<<" | "; cout<<endl<<"index: | "; for(int i=0;i<N;i++) cout<<setw(3)<<i<<" | "; cout<<endl<<endl; } int main ( ) { Queue s; // добавяме елементи cout<<endl; s.push(4); cout<<"push " << 4 << endl; s.push(-20); cout<<"push " << -20 << endl; s.push(6); cout<<"push " << 6 << endl; s.push(14); cout<<"push " << 14 << endl; s.print(); system("pause"); // изтриваме елементи int Y; cout<<endl; s.pop(Y); cout<<"pop " << Y << endl; s.pop(Y); cout<<"pop " << Y << endl; s.print(); system("pause"); // добавяме още елементи cout<<endl; s.push(-52); cout<<"push " << -52 << endl; s.push(11); cout<<"push " << 11 << endl; s.print(); system("pause"); // изтриваме елементи cout<<endl; s.pop(Y); cout<<"pop " << Y << endl; s.pop(Y); cout<<"pop " << Y << endl; s.pop(Y); cout<<"pop " << Y << endl; s.pop(Y); cout<<"pop " << Y << endl; s.print(); system("pause"); return 0; }