Summary Files Commits Branches @commit @diff @stats
path: root / Year 1 / Object-oriented Programming / Solutions Sem. 08 / ex3 / source.cpp
blob: f3c441989f0b6c1280fe08cbaca83940e9be1491 (plain) (blame)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "WordCollection.h"
#include <iostream>

void dimitrievTests() {
	WordCollection dict;
	((dict *= "Ivan") *= "Petur") *= "Alex";
	std::cout << dict << std::endl; // {Alex, Ivan, Petur}
	std::cout << dict["Alex"] << " " << dict["abc"] << std::endl; // 1 0

	WordCollection dict2;
	((dict2 *= "Zebra") *= "Alex");

	WordCollection result = dict + dict2;
        std::cout << result << std::endl; // {Alex, Ivan, Petur, Zebra}

	WordCollection result2 = dict - dict2;
        std::cout << result2 << std::endl; // {Ivan, Petur}

	result2 *= "NewWOrd";
	result2 /= "NonExistingWord";
	std::cout << result2 << std::endl;  //{Ivan, NewWOrd, Petur}
	std::cin >> result2; //въвеждаме "Job"
	std::cout << result2 << std::endl;  //{Ivan, Job, NewWOrd, Petur}
}

int main() {
	WordCollection dict1, dict2, dict3, dict4;
	((dict1 *= "Apple") *= "Banana") *= "Cucumber";
	((((dict2 *= "Orange") *= "Apple") *= "A big Kiwi") *= "Pineapple") *= "Remove";
	dict3 *= "Pineapple";
	dict2 /= "Remove";

	std::cout << dict1 << std::endl << dict2 << std::endl << dict3 << std::endl << dict4 << std::endl;

	WordCollection sum1;
	sum1 += dict4;
	sum1 += dict2 + dict4 + dict1;
	sum1 += sum1;
	sum1 += sum1 + sum1 + sum1 + sum1;
	std::cout << sum1 << std::endl << std::endl;

	WordCollection sub1;
	sub1 = sum1;
	sub1 -= dict2 - dict4 - dict1;
	std::cout << sub1 << std::endl;
	WordCollection sub2(sub1);
	sub1 -= sub1;
	std::cout << sub1 << std::endl;
	sub1 = sub2;
	std::cout << sub1 << std::endl;
	sub1 -= sub1 - sub1;
	std::cout << sub1 << std::endl;
	(((((sub1 *= "Not a Pineapple") *= "Apple") *= "Dragon fruit") /= "Apple") /= "Banana") *= "Lettuce";
	std::cout << sub1 << std::endl << std::endl;

	std::cout << dict1["Apple"] << dict2["Apple"] << dict3["Apple"] << sub1["Apple"] << std::endl;
	std::cout << dict1[""] << dict2[""] << dict4[""] << sub1[""] << std::endl << std::endl;

	((dict1 /= "Apple") /= "Cucumber") /= "Orange";
	std::cout << dict1 << std::endl << std::endl;

	std::cin >> dict1;
	std::cout << dict1 << std::endl;
}