Advertisement
jordanov

Тајна порака (не решена)

Jan 9th, 2018
844
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.04 KB | None | 0 0
  1. /* Тајна порака Problem 2 (0 / 0)
  2. Да се имплементира апстрактна класа Secret со два чисто виртуелни методи:
  3.  
  4. double simpleEntropy() - се пресеметува како бројот на различни (цифри/букви) поделен со бројот на вкупно знаци. (10 поени)
  5. int total()- го враќа вкупниот број на цифри/букви. (5 поени)
  6. Од оваа класа да се имплементираат две изведени класи DigitsSecret (цифри 0-9) и CharSecret (букви a-z) во кои се чува низа од максимум 100 цифри односно 100 мали букви од a до z (5 поени). Да се имплементира соодветен конструктор, како и следните оператори:
  7.  
  8. оператори == и != за споредување на два објекти од каков било тип (DigitSecret, CharSecret) според елементите што ги содржат (10 поени)
  9. оператор << за печатење на стандарден излез во формат: (5 поени)
  10.  
  11. [cifri/bukvi] Simple entropy: [entropy] Total: [total]
  12.  
  13. Да се имплементира класа SecretProcessor со следниот статичен метод:
  14.  
  15. static void process(Secret **secrets, int n) - што прима низа од покажувачи од класата Secret и нивниот број и треба да го отпечати елементот со најголема вредност за simpleEntropy. (15 поени) */
  16.  
  17. #include <iostream>
  18. #include <cstring>
  19. using namespace std;
  20.  
  21.  
  22. int main() {
  23.     int n;
  24.     cin >> n;
  25.     if(n == 0) {
  26.         cout << "Constructors" << endl;
  27.         DigitSecret ds("12345");
  28.         CharSecret cs("abcabc");
  29.         cout << "OK" << endl;
  30.     } else if(n == 1) {
  31.         cout << "operator <<" << endl;
  32.         DigitSecret ds("12345");
  33.         CharSecret cs("abcabc");
  34.         cout << ds << endl;
  35.         cout << cs << endl;
  36.     } else if(n == 2) {
  37.         cout << "== and !=" << endl;
  38.         DigitSecret ds("12345");
  39.         CharSecret cs("abcabc");
  40.         CharSecret css("abcabc");
  41.         cout << (ds == cs) << endl;
  42.         cout << (cs != ds) << endl;
  43.         cout << (cs == css) << endl;
  44.         cout << (cs != css) << endl;
  45.     } else if(n == 3) {
  46.         cout << "Secret processor" << endl;
  47.         DigitSecret ds1("123455432112345");
  48.         DigitSecret ds2("123450005544332");
  49.         DigitSecret ds3("10943840931432144372");
  50.         CharSecret cs1("fhdaieowujkfjdsafjdsakjhueiqoyroq");
  51.         CharSecret cs2("nvzcfsadrqipqhfjdfncxoqw");
  52.         CharSecret cs3("uyoihfdsanmqeqrzvdhfeqyrq");
  53.         Secret** s = new Secret*[6];
  54.         s[0] = &ds1;
  55.         s[1] = &ds2;
  56.         s[2] = &ds3;
  57.         s[3] = &cs1;
  58.         s[4] = &cs2;
  59.         s[5] = &cs3;
  60.         SecretProcessor::process(s, 6);
  61.         delete [] s;
  62.     }
  63.    
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement