Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Тајна порака Problem 2 (0 / 0)
- Да се имплементира апстрактна класа Secret со два чисто виртуелни методи:
- double simpleEntropy() - се пресеметува како бројот на различни (цифри/букви) поделен со бројот на вкупно знаци. (10 поени)
- int total()- го враќа вкупниот број на цифри/букви. (5 поени)
- Од оваа класа да се имплементираат две изведени класи DigitsSecret (цифри 0-9) и CharSecret (букви a-z) во кои се чува низа од максимум 100 цифри односно 100 мали букви од a до z (5 поени). Да се имплементира соодветен конструктор, како и следните оператори:
- оператори == и != за споредување на два објекти од каков било тип (DigitSecret, CharSecret) според елементите што ги содржат (10 поени)
- оператор << за печатење на стандарден излез во формат: (5 поени)
- [cifri/bukvi] Simple entropy: [entropy] Total: [total]
- Да се имплементира класа SecretProcessor со следниот статичен метод:
- static void process(Secret **secrets, int n) - што прима низа од покажувачи од класата Secret и нивниот број и треба да го отпечати елементот со најголема вредност за simpleEntropy. (15 поени) */
- #include <iostream>
- #include <cstring>
- using namespace std;
- int main() {
- int n;
- cin >> n;
- if(n == 0) {
- cout << "Constructors" << endl;
- DigitSecret ds("12345");
- CharSecret cs("abcabc");
- cout << "OK" << endl;
- } else if(n == 1) {
- cout << "operator <<" << endl;
- DigitSecret ds("12345");
- CharSecret cs("abcabc");
- cout << ds << endl;
- cout << cs << endl;
- } else if(n == 2) {
- cout << "== and !=" << endl;
- DigitSecret ds("12345");
- CharSecret cs("abcabc");
- CharSecret css("abcabc");
- cout << (ds == cs) << endl;
- cout << (cs != ds) << endl;
- cout << (cs == css) << endl;
- cout << (cs != css) << endl;
- } else if(n == 3) {
- cout << "Secret processor" << endl;
- DigitSecret ds1("123455432112345");
- DigitSecret ds2("123450005544332");
- DigitSecret ds3("10943840931432144372");
- CharSecret cs1("fhdaieowujkfjdsafjdsakjhueiqoyroq");
- CharSecret cs2("nvzcfsadrqipqhfjdfncxoqw");
- CharSecret cs3("uyoihfdsanmqeqrzvdhfeqyrq");
- Secret** s = new Secret*[6];
- s[0] = &ds1;
- s[1] = &ds2;
- s[2] = &ds3;
- s[3] = &cs1;
- s[4] = &cs2;
- s[5] = &cs3;
- SecretProcessor::process(s, 6);
- delete [] s;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement