Напишете клас опашка с приоритети, в която да се съхраняват цели числа (може и клас-шаблон). Класът трябва да има следните методи:
конструктор по подразбиране;
деструктор;
метод за добавяне на елемент;
метод, който изважда елемента с най-голям приоритет (най-голямото число) и го отпечатване на екрана. Ако опашката е празна методът да връща false, а в противен случай true.
Ако методът за добавяне се казва push(), а този за изваждане printElement(), то след изпълнението на следните редове код в main функцията:
Queue<int> q; q.push(3); q.push(-3); q.push(40); q.push(18); q.push(28); q.push(6); q.push(7); while(printElement()) cout << ' ';
на екрана трябва да се е отпечатало: 40 28 18 7 6 3 -3.
Ако е необходимо добавете още методи към класа.
Съвет: още при добавянето на елементите ги подреждайте спрямо приоритета им.
| ф.н. | конструктор - 1 | деструктор - 3 | добавяне - 10 | изваждане - 6 | Общо |
| 0801261002 | 1 | 1 | 6 | 0 | 8 |
| 0801261004 | 1 | 0 | 5 | 5 | 11 |
| 0801261005 | 1 | 0 | 5 | 5 | 11 |
| 0801261007 | 1 | 0 | 10 | 6 | 17 |
| 0801261008 | 1 | 0 | 1 | 0 | 2 |
| 0801261011 | 1 | 3 | 0 | 0 | 4 |
| 0801261013 | 0 | 0 | 2 | 0 | 2 |
| 0801261014 | 1 | 3 | 1 | 6 | 11 |
| 0801261017 | 1 | 3 | 7 | 6 | 17 |
| 0801261018 | 1 | 0 | 3 | 3 | 7 |
| 0801261021 | 0 | 0 | 0 | 0 | 0 |
| 0801261022 | 0 | 0 | 0 | 0 | 0 |
| 0801261025 | 1 | 3 | 3 | 2 | 9 |
| 0801261026 | 1 | 0 | 1 | 0 | 2 |
| 0801261027 | 1 | 1 | 2 | 0 | 4 |
| 0801261029 | 1 | 3 | 0 | 0 | 4 |
| 0801261034 | 1 | 3 | 8 | 4 | 16 |
| 0801261036 | 1 | 3 | 10 | 6 | 20 |
| 0801261037 | 1 | 2 | 4 | 1 | 8 |
| 0801261040 | 1 | 2 | 5 | 0 | 8 |
| 0801261049 | 1 | 3 | 2 | 0 | 6 |
| 0801261054 | 1 | 0 | 2 | 3 | 6 |
| 0801261065 | 0 | 0 | 1 | 1 | 2 |
| 0801261067 | 1 | 2 | 5 | 2 | 10 |
| 0801261076 | 1 | 0 | 10 | 6 | 17 |
| 0801261136 | 1 | 0 | 0 | 0 | 1 |
| 0801261140 | 1 | 1 | 3 | 2 | 7 |
Напишете шаблонен клас стек със следните методи: конструктор по подразбиране; деструктор; метод за добавяне на елемент; метод за изваждане на елемент.
Създайте 2 стека: s1 и s2.
Прочетете от клавиатурата 2 числа s1n и s2n.
Изискайте от потребителя на програмата да въведе от клавиатурата s1n на брой цели числа сортирани във възходящ ред и ги добавете в s1.
Направете същото и със s2n и s2.
Сега двата стека трябва да са сортирани низходящо от върха към дъното.
Слейте двата сортирани стека в трети стек s, като внимавате той също да бъде сортиран, но възходящо от върха към дъното.
Отпечатайте елементите в стека s.
Пример: Вход: 3 5 2 4 9 1 3 5 6 8 Изход: 1 2 3 4 5 6 8 9 Ако е необходимо добавете още методи към класа.
| ф.н. | конструктор - 1 | деструктор - 3 | добавяне - 3 | изваждане - 3 | главна програма - 10 | Общо |
| 0701261069 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261006 | 1 | 3 | 3 | 0 | 0 | 7 |
| 0801261010 | 1 | 3 | 3 | 3 | 2 | 12 |
| 0801261024 | 1 | 0 | 3 | 0 | 0 | 4 |
| 0801261051 | 1 | 3 | 3 | 3 | 10 | 20 |
| 0801261053 | 1 | 3 | 3 | 3 | 2 | 12 |
| 0801261056 | 1 | 0 | 1 | 1 | 1 | 4 |
| 0801261062 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261066 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261068 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261069 | 1 | 3 | 2 | 1 | 0 | 7 |
| 0801261071 | 1 | 3 | 3 | 3 | 10 | 20 |
| 0801261072 | 0 | 0 | 0 | 3 | 0 | 3 |
| 0801261073 | 1 | 0 | 0 | 1 | 0 | 2 |
| 0801261075 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261078 | 1 | 1 | 1 | 1 | 2 | 6 |
| 0801261079 | 1 | 0 | 3 | 1 | 0 | 5 |
| 0801261080 | 1 | 0 | 3 | 2 | 0 | 6 |
| 0801261081 | 1 | 1 | 1 | 1 | 1 | 5 |
| 0801261083 | 1 | 3 | 3 | 3 | 0 | 10 |
| 0801261084 | 1 | 2 | 3 | 2 | 2 | 10 |
| 0801261086 | 1 | 0 | 0 | 0 | 0 | 1 |
| 0801261099 | 1 | 3 | 3 | 2 | 1 | 10 |
| 0801261103 | 1 | 0 | 0 | 0 | 0 | 1 |
| 0801261110 | 1 | 0 | 2 | 1 | 0 | 4 |
| 0801261114 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0901261038 | 1 | 0 | 1 | 0 | 0 | 2 |
| 0901261056 | 1 | 2 | 3 | 3 | 8 | 17 |
| 0901261131 | 1 | 0 | 3 | 2 | 0 | 6 |
Напишете шаблонен клас динамичен масив със следните методи: конструктор по подразбиране; деструктор; метод за добавяне на елемент в края на масива; метод за добавяне на елемент в началото на масива. В този случай всички елементи се изместват с една позиция
назад, към края на масива; метод за отпечатване на масива на екрана.
Създайте динамичен масив.
Прочетете от клавиатурата 10 цели числа, като: ако числото е четно го добавяте в края на масива, ако е нечетно го добавяте в началото на масива.
Отпечатайте масива на екрана, в обратен ред.
Ако е необходимо добавете още методи към класа.
Пример:
Добавяме 1, масива: 1 Добавяме 2, масива: 1 2 Добавяме 3, масива: 3 1 2 Добавяме 4, масива: 3 1 2 4 Добавяме 5, масива: 5 3 1 2 4 Добавяме 6, масива: 5 3 1 2 4 6 Добавяме 7, масива: 7 5 3 1 2 4 6 Добавяме 8, масива: 7 5 3 1 2 4 6 8 Добавяме 9, масива: 9 7 5 3 1 2 4 6 8 Добавяме 10, масива: 9 7 5 3 1 2 4 6 8 10 Изход: 10 8 6 4 2 1 3 5 7 9
| ф.н. | конструктор - 2 | деструктор - 2 | доб. в края - 6 | доб. в нач. - 6 | главна програма - 4 | Общо |
| 0801261019 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261047 | 2 | 1 | 2 | 2 | 3 | 10 |
| 0801261055 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261097 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261105 | 1 | 0 | 2 | 2 | 3 | 8 |
| 0801261129 | 1 | 1 | 0 | 0 | 2 | 4 |
| 0801261133 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261135 | 1 | 0 | 1 | 1 | 2 | 5 |
| 0801261137 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261138 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261142 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261145 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261146 | 1 | 0 | 1 | 1 | 2 | 5 |
| 0801261148 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261151 | 1 | 1 | 2 | 2 | 1 | 7 |
| 0801261153 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261155 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261156 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261162 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261165 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0901261124 | 0 | 0 | 0 | 0 | 2 | 2 |
| 0901261132 | 0 | 0 | 0 | 0 | 0 | 0 |
Напишете шаблонен клас динамичен масив със следните методи:
конструктор по подразбиране;
деструктор;
метод за добавяне на елемент в средата на масива. Ако масивът има n на брой елемента, новият елемент трябва да се добави на позиция n / 2. Останалите елементи, след добавения, се изместват с една позиция назад, към края на масива;
метод за отпечатване на масива на екрана.
Създайте динамичен масив.
Прочетете от клавиатурата 8 реални числа и ги добавете в масива, използвайки метода за добавяне в средата.
Отпечатайте масива на екрана.
Ако е необходимо добавете още методи към класа.
Пример: Добавяме 1, масива: 1 Добавяме 2, масива: 2 1 Добавяме 3, масива: 2 3 1 Добавяме 4, масива: 2 4 3 1 Добавяме 5, масива: 2 4 5 3 1 Добавяме 6, масива: 2 4 6 5 3 1 Добавяме 7, масива: 2 4 6 7 5 3 1 Добавяме 8, масива: 2 4 6 8 7 5 3 1
| ф.н. | конструктор - 2 | деструктор - 2 | добавяне - 12 | отпечатване - 2 | главна програма - 2 | Общо |
| 0801261063 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261064 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261087 | 2 | 1 | 8 | 2 | 2 | 15 |
| 0801261089 | 2 | 0 | 0 | 2 | 2 | 6 |
| 0801261094 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261100 | 0 | 2 | 4 | 2 | 0 | 8 |
| 0801261101 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261106 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261107 | 2 | 0 | 0 | 2 | 2 | 6 |
| 0801261108 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261111 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261113 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261116 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261117 | 2 | 2 | 2 | 0 | 2 | 8 |
| 0801261120 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261121 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261122 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0801261147 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0901261076 | 0 | 0 | 0 | 0 | 0 | 0 |