Напишете клас опашка с приоритети, в която да се съхраняват цели числа (може и клас-шаблон). Класът трябва да има следните методи:
конструктор по подразбиране;
деструктор;
метод за добавяне на елемент;
метод, който изважда елемента с най-голям приоритет (най-голямото число) и го отпечатване на екрана. Ако опашката е празна методът да връща 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 |