fork(1) download
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <map>
  5. #include <functional>
  6. using namespace std;
  7.  
  8. #define DARITF(op) [](double a, double b)->double{return a op b;}
  9. int main() {
  10. vector<double> results;
  11. map<string, function<double(double, double)>> functions = {
  12. {"+", DARITF(+)},
  13. {"-", DARITF(-)},
  14. {"*", DARITF(*)},
  15. {"/", DARITF(/)}
  16. };
  17. string in_function;
  18. double a, b;
  19. while(cin>>a>>in_function>>b)
  20. results.push_back(functions[in_function](a, b));
  21.  
  22. for(auto result : results)
  23. cout << result << " ";
  24. return 0;
  25. }
Success #stdin #stdout 0s 3440KB
stdin
10 * 10 20 - 10 30 - 8 52 / 2
stdout
100 10 22 26