用Isringstream C 提取多项式的系数
Extract the coefficients of a polynomial with istringstream c++
当前我正在从事一个项目(即创建多项式类别(,并且我已经实现了"添加提取二维和启用"方法。但是我陷入了一种从类似3x^1-2x^4之类的字符串传递到系数矢量的方法,例如0 3 0 04。
所以这是代码:
string s;
cin >> s;
istringstream iss(s);
double coeff;
char x, sym;
int degree;
vector<double> coefficients;
int i = 0;
while (iss >> coeff >> x >> sym >> degree) {
//if (sign == '-') coeff *= -1;
if (degree == i) {
cout << coeff << i;
coefficients.push_back(coeff);
++i;
}
else {
for (int j = i; j < degree; ++j) {
coefficients.push_back(0);
}
coefficients.push_back(coeff);
++i;
}
Polynomial p (coefficients);
p.write();
顺便说一句,我正在使用istringstream,但是不幸的是,由于某种原因,它似乎不起作用,我无法弄清楚我的代码有什么问题?"多项式P(系数("似乎是空的。也许是构造函数的东西?
Polynomial::Polynomial (const vector<double>& coeff)
: coeff(coeff)
{}
// Constructor from string.
Polynomial::Polynomial (const string& spoly) : spoly(spoly) {}
预先感谢!
是的,最终我发现了问题所在。我正在编译Mac上,但是当我切换到Linux时,它可以完美地工作。因此,Mac的解决方案是编写
cout << endl;
在代码块的末尾。
相关文章:
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 如何从 std::atomic 中提取指针 T<T>?
- 为什么istream不支持右值提取
- c++模板来表示多项式
- 如何设置一个范围来提取我想要获得的信息
- 视觉工作室项目.提取源文件夹名称
- C++17 - 使用自定义分配器的节点提取/重新插入 - 适用于 clang++/libc++,但不适用于 libstd
- 从字符串中提取整数并形成一个数组
- C ++中的StringStream有助于使用向量从字符串中提取逗号分隔的整数,而不是空格分隔的整数,为什么?
- asn1c 不会从 asn.1 模块中提取八位字节字符串的默认值
- 从 std::vector<无符号字符>切片中提取 int?
- 在C++中使用重载提取运算符时出现问题
- 在 Qt(C++) 中使用 QProcess 解压缩 - 提取目录问题
- C++(.cpp文件和.h文件)拆分代码并添加一个函数,提取 - 这很容易吗?
- 无法从 std::string 中提取C++ Unicode 符号
- 如何从也包含C++字母的文本文件中提取某些数字?
- 如何从适合一定范围的数字中提取数字?
- C++从通用引用中提取实际类型
- 用Isringstream C 提取多项式的系数
- 使用c字符串从多项式中提取指数