Подскажите как удобнее получать знак числа
| Код | using namespace std; using namespace boost; ...
string str("-3x^2-7x+1=0"); // например имеем такое уравнение //дело в том что -3 записывается в число как +3, т.е. знак перед числом игнорируется int n,d[3]={0}; // n - количество членов d хранит a,b,c regex reg("(-*\\d+)x\\^*\\d*([+-]*\\d+)x([+-]*\\d*)=*\\d*"); smatch what; regex_search(str,what,reg);
what[3]==""?n=2:n=3;// проверяем есть ли "c"
for(int i=0; i<n; ++i) d[i] = lexical_cast<int>(what[i+1]);
... дальше идет решение
|
Можно добавлять в регулярное выражение (-*), создать дополнительные переменные для определения знака и т.п., но мб есть более простое решение ?
// блин всё оказалось просто. тема не актуальна  |