Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <sstream>
- #include <vector>
- #include <iomanip>
- using namespace std;
- int main(){
- string define;
- //istringstream all_values;
- double temp;
- double min=0;
- double max=0;
- double average=0;
- int i = 0;
- int strict_flag = 0;
- int integers_only_flag = 0;
- while(1){
- getline(cin,define);
- size_t END = define.find("END");
- size_t strict = define.find("strict");
- size_t integers_only = define.find("integers-only");
- if(END != string::npos){
- if(END == 3){
- cout <<"ERR: PROVIDE AT LEAST ONE NUMBER" << endl;
- }
- break;
- }
- if(strict != string::npos){
- define.erase(define.begin(),define.end());
- strict_flag = 1;
- }
- if(integers_only != string::npos){
- define.erase(define.begin(),define.end());
- integers_only_flag = 1;
- }
- if(strict_flag == 1){
- for(string::iterator it = define.begin(); it != define.end(); it++){
- if((*it < '0' || *it > '9') && *it != ' ' && *it != '\t' && *it != '\n' && *it != '/'&& *it != '.' ){
- cout << "ERR: PROVIDE ONLY INTEGERS" << endl;
- return 0;
- }
- }
- }
- istringstream all_values(define);
- for(string::iterator it = define.begin(); it != define.end(); it++){
- all_values >> temp;
- if(i == 0){
- max = temp;
- min = temp;
- average = temp;
- i = 1;
- }else{
- if(temp > max){
- max = temp;
- }
- if(temp < min){
- min = temp;
- }
- average += temp;
- i++;
- }
- }
- }
- if(integers_only_flag == 1){
- cout << setprecision(0) << min << " " << setprecision(0) << max << " " << setprecision(1) << average/i - 0.4 << endl;
- }else{
- cout << min << " " << max << " " << average/i - 0.4 << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement