#include <iostream>
using namespace std;
float strmin(string s1, string s2)
{
float s1v, s2v;
bool rossz1=false, rossz2=false;
try {
s1v = stof(s1);
} catch (exception e) {
rossz1 = true;
}
try {
s2v = stof(s2);
} catch (exception e) {
rossz2 = true;
}
if (rossz1 && rossz2)
return -999;
if (rossz1)
return s2v;
if (rossz2)
return s1v;
// mindkettő jó:
if (s1v < s2v)
return s1v;
else
return s2v;
}
void proba(string s1, string s2)
{
cout << "input: " << s1 << " és " << s2 << ", output: " << strmin(s1, s2) << endl;
}
int main() {
proba("abc", "def");
proba("", "def");
proba("abc", "");
proba("", "");
proba("", "1.234");
proba("abc", "1.234");
proba("3.1415", "");
proba("3.1415", "def");
proba("3.1415", "1.234");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKZmxvYXQgc3RybWluKHN0cmluZyBzMSwgc3RyaW5nIHMyKQp7CglmbG9hdCBzMXYsIHMydjsKCWJvb2wgcm9zc3oxPWZhbHNlLCByb3NzejI9ZmFsc2U7CgoJdHJ5IHsKCQlzMXYgPSBzdG9mKHMxKTsKCX0gY2F0Y2ggKGV4Y2VwdGlvbiBlKSB7CgkJcm9zc3oxID0gdHJ1ZTsKCX0KCgl0cnkgewoJCXMydiA9IHN0b2YoczIpOwoJfSBjYXRjaCAoZXhjZXB0aW9uIGUpIHsKCQlyb3NzejIgPSB0cnVlOwoJfQoKCWlmIChyb3NzejEgJiYgcm9zc3oyKQoJCXJldHVybiAtOTk5OwoJCQoJaWYgKHJvc3N6MSkKCQlyZXR1cm4gczJ2OwoJaWYgKHJvc3N6MikKCQlyZXR1cm4gczF2OwoJCQoJLy8gbWluZGtldHTFkSBqw7M6CglpZiAoczF2IDwgczJ2KQoJCXJldHVybiBzMXY7CgllbHNlCgkJcmV0dXJuIHMydjsKfQoKdm9pZCBwcm9iYShzdHJpbmcgczEsIHN0cmluZyBzMikKewoJY291dCA8PCAiaW5wdXQ6ICIgPDwgczEgPDwgIiDDqXMgIiA8PCBzMiA8PCAiLCBvdXRwdXQ6ICIgPDwgc3RybWluKHMxLCBzMikgPDwgZW5kbDsKfQoKaW50IG1haW4oKSB7Cglwcm9iYSgiYWJjIiwgImRlZiIpOwoJcHJvYmEoIiIsICJkZWYiKTsKCXByb2JhKCJhYmMiLCAiIik7Cglwcm9iYSgiIiwgIiIpOwoJcHJvYmEoIiIsICIxLjIzNCIpOwoJcHJvYmEoImFiYyIsICIxLjIzNCIpOwoJcHJvYmEoIjMuMTQxNSIsICIiKTsKCXByb2JhKCIzLjE0MTUiLCAiZGVmIik7Cglwcm9iYSgiMy4xNDE1IiwgIjEuMjM0Iik7CgkKCXJldHVybiAwOwp9
input: abc és def, output: -999
input: és def, output: -999
input: abc és , output: -999
input: és , output: -999
input: és 1.234, output: 1.234
input: abc és 1.234, output: 1.234
input: 3.1415 és , output: 3.1415
input: 3.1415 és def, output: 3.1415
input: 3.1415 és 1.234, output: 1.234