Website Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commitce7db49ffcefb5133210a9cc4bb426ac9aa7794d (patch)
Author
 Angel Dimitriev <achi_d@abv.bg>
2021-05-12 19:49:08 +0300
Committer
 GitHub <noreply@github.com>
2021-05-12 19:49:08 +0300
Filesb354fa9b5c6535f09648e4454f56d761fea5eb74
Object-oriented_programming_FMI-ce7db49ffcefb5133210a9cc4bb426ac9aa7794d.tar
Object-oriented_programming_FMI-ce7db49ffcefb5133210a9cc4bb426ac9aa7794d.tar.gz
Object-oriented_programming_FMI-ce7db49ffcefb5133210a9cc4bb426ac9aa7794d.zip
Parent015e79ec9407adbc387c176ca9406cadfe7db231 (diff)
Update README.md
1 files changed, 1 insertions, 70 deletions
-rw-r--r--Sem. 09/README.md71
diff --git a/Sem. 09/README.md b/Sem. 09/README.md
index 09c8652..3ec48cc 100644
--- a/Sem. 09/README.md
+++ b/Sem. 09/README.md
@@ -148,32 +148,7 @@ int main()
Масивът ще се изтрие (и ще се изтрият обектите), когато се извика delete[] върху него.
-## Шаблони
-Функция/клас, която работи не с променливи от някакъв дефиниран тип, а с абстрактни променливи, се нарича шаблонна функция/клас
-```c++
-#include <iostream>
-using namespace std;
-
-template <class T>
-T sum(T a, T b)
-{
- return a + b;
-}
-
-int main()
-{
- int a = 4;
- int b = 9;
- cout << sum<int>(a, b) << endl;
- double c = 3.14;
- double d = 4.5;
- cout << sum<double>(c,d) << endl;
-
- return 0;
-}
-```
-Компилаторът генерира т. нар. шаблонна функция, като замества параметрите на шаблона с типовете на съответните фактически параметри.
## Задачи
**Задача 1:**
@@ -212,26 +187,8 @@ int main()
- Студент може да има най-много 20 оценки.
- Студентите имат имена с макс дължина 30 символа.
-**Задача 2:**
-Релизирайте структурата от данни опашка. Опашката трябва да работи с **произволни типове**. След като е добавен един елемент в края на опашката, той ще може да бъде извлечен (премахнат) единствено след като бъдат премахнати всички елементи преди него в реда, в който са добавени.
-
-**Пример**:
- ```c++
-int main()
-{
- quene<int> q;
- q.enqueue(3);
- q.enqueue(5);
- q.enqueue(10);
-
- cout << q.dequeue() << endl; //3
- cout << q.dequeue() << endl; //5
- cout << q.dequeue() << endl; //10
- cout << q.isEmpty() << endl; //1
-}
- ```
- **Задача 3:**
+ **Задача 2:**
Релизирайте клас стринг, който ще се ползва за работа със символни низове. Стрингът трябва да има като минимум следния интерфейс:
@@ -271,29 +228,3 @@ int main()
s3 == s1; //false;
}
```
- **Задача 4:**
- Създайте **шаблонна** опашка с k приоритета. При взимане на елемент от опашката трябва да се връща най-отдавна добавения елемент от тези с най-висок приоритет.
-
- ```c++
-int main()
-{
- kPriorityQueue<char> q(4); // 4 priorities - 0, 1, 2 и 3.
-
- q.enqueue('A',0): //adds A with lowest priority: 0
- q.enqueue('B',3);
- q.enqueue('C',2);
- q.enqueue('D',2);
- q.enqueue('E',1);
-
- //q.enqueue('F', 5); //error! No such priority!
-
- q.dequeue(); // B
- q.dequeue(); // C
- q.dequeue(); // D
- q.dequeue(); // E
- q.dequeue(); // A
-}
- ```
-
-**ВАЖНО!** Има промяна по реализацията на опашка от семинар. Добавена е "голямата четворка", от която очевидно има нужда в класа.
-Ако някой е ползвал старата имплементация на опашката, да я замени с новата.