Advertisement
Guest User

Untitled

a guest
Oct 20th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.85 KB | None | 0 0
  1. #include <iostream>
  2. #include <sstream>
  3. #include <vector>
  4. #include <iomanip>
  5.  
  6. using namespace std;
  7.  
  8. int main(){
  9.  
  10.   string define;
  11.   //istringstream all_values;
  12.   double temp;
  13.   double min=0;
  14.   double max=0;
  15.   double average=0;
  16.   int i = 0;
  17.  
  18.  
  19.   int strict_flag = 0;
  20.   int integers_only_flag = 0;
  21.  
  22.  
  23.   while(1){
  24.  
  25.     getline(cin,define);
  26.     size_t END = define.find("END");
  27.     size_t strict = define.find("strict");
  28.     size_t integers_only = define.find("integers-only");
  29.  
  30.     if(END != string::npos){
  31.       if(END == 3){
  32.         cout <<"ERR: PROVIDE AT LEAST ONE NUMBER" << endl;
  33.       }
  34.       break;
  35.     }
  36.     if(strict != string::npos){
  37.       define.erase(define.begin(),define.end());
  38.       strict_flag = 1;
  39.     }
  40.     if(integers_only != string::npos){
  41.       define.erase(define.begin(),define.end());
  42.       integers_only_flag = 1;
  43.     }
  44.     if(strict_flag == 1){
  45.       for(string::iterator it = define.begin(); it != define.end(); it++){
  46.         if((*it < '0' || *it > '9') && *it != ' ' && *it != '\t' && *it != '\n' && *it != '/'&& *it != '.' ){
  47.           cout << "ERR: PROVIDE ONLY INTEGERS" << endl;
  48.           return 0;
  49.         }
  50.       }
  51.     }
  52.     istringstream all_values(define);
  53.     for(string::iterator it = define.begin(); it != define.end(); it++){
  54.       all_values >> temp;
  55.       if(i == 0){
  56.         max = temp;
  57.         min = temp;
  58.         average = temp;
  59.         i = 1;
  60.       }else{
  61.         if(temp > max){
  62.           max = temp;
  63.         }
  64.         if(temp < min){
  65.           min = temp;
  66.         }
  67.         average += temp;
  68.         i++;
  69.       }
  70.     }
  71.  
  72.   }
  73.   if(integers_only_flag == 1){
  74.     cout << setprecision(0) << min << " " << setprecision(0) << max << " " << setprecision(1) << average/i - 0.4 << endl;
  75.   }else{
  76.     cout << min << " " << max << " " << average/i - 0.4 << endl;
  77.   }
  78.   return 0;
  79.  
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement