Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2020
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1. #pragma once
  2. #include<iostream>
  3. using namespace std;
  4. template <typename T>
  5. class Statistics {
  6. private:
  7.     int n = 0;
  8.     T max_value = -501;
  9.     T min_value = 501;
  10.     T average_value;
  11.     T positive_count;
  12.     T negative_count;
  13.     T odd_sum;  
  14.     T even_sum;
  15.     T first_elem;
  16.     T last_elem;
  17. public:
  18.    
  19.      void operator() (const T& value) {
  20.          if (n == 0) {
  21.              first = value;
  22.          }
  23.          ++n;
  24.          if (value > max_value) {
  25.              max_value = value; //task a
  26.          }
  27.  
  28.  
  29.          if (value < min_value) {
  30.              min_value = value; //task b
  31.          }
  32.          average = ((average * (n - 1)) + x) / n; // task c
  33.        
  34.          
  35.          if(value % 2 == 0 ) {
  36.              even_sum+=value;  // task g
  37.          } else {
  38.             odd_sum+=value; // task f
  39.          }
  40.  
  41.          if (value > 0) {
  42.              ++positive_count; // task d
  43.          } else if(value < 0 ) {
  44.              ++negative_count; // task e
  45.          }
  46.      }
  47.     void ShowStatistics() {
  48.         cout << "even sum : " << even_sum << endl;
  49.         cout << "even sum : " <<odd_sum << endl;
  50.  
  51.         cout << "positive count : " <<positive_count << endl;
  52.         cout << "negative count  : " << odd_sum << endl;
  53.     }
  54.  
  55.  
  56.  
  57.  
  58. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement