Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #include<iostream>
- using namespace std;
- template <typename T>
- class Statistics {
- private:
- int n = 0;
- T max_value = -501;
- T min_value = 501;
- T average_value;
- T positive_count;
- T negative_count;
- T odd_sum;
- T even_sum;
- T first_elem;
- T last_elem;
- public:
- void operator() (const T& value) {
- if (n == 0) {
- first = value;
- }
- ++n;
- if (value > max_value) {
- max_value = value; //task a
- }
- if (value < min_value) {
- min_value = value; //task b
- }
- average = ((average * (n - 1)) + x) / n; // task c
- if(value % 2 == 0 ) {
- even_sum+=value; // task g
- } else {
- odd_sum+=value; // task f
- }
- if (value > 0) {
- ++positive_count; // task d
- } else if(value < 0 ) {
- ++negative_count; // task e
- }
- }
- void ShowStatistics() {
- cout << "even sum : " << even_sum << endl;
- cout << "even sum : " <<odd_sum << endl;
- cout << "positive count : " <<positive_count << endl;
- cout << "negative count : " << odd_sum << endl;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement