我在C++中创建了一个将数字转换为数组的函数。由于这一创建,我还创建了将数组转换回数字的相反部分:
int convertToNumber(vector<int> nums) {
int length{ nums.size() };
int Pow{ length - 1 };
int factor{ pow(10, Pow) };
int tempNum{};
int result_num{};
for (auto n : nums) {
tempNum = n;
tempNum *= factor;
result_num += tempNum;
Pow--;
}
return result_num;
}
问题就在这里。当我在main中使用以下代码运行时:
int main() {
vector<int> nums {2, 3, 5, 6, 2, 6};
int number = convertToNumber(nums);
cout << number << endl;
}
我得到了240000,而我应该得到235626。我找了很久都找不到代码中的逻辑错误。有人知道怎么回事吗?
在循环的每次迭代中,您都在更新pow
-但不更新factor
;循环中使用的是factor
,而不是pow
。
请记住,当您将表达式赋给变量时,该表达式只求一次值,而这一次求值的结果就是变量所设置的值。换句话说,每次使用factor
时,不会调用pow()
函数;它只调用一次,初始值为pow
。
注意您提供的代码将无法编译。必须在诸如vector
和pow
等标识符之前指定名称空间-否则编译器将无法理解它们;并且还需要包含适当的头。
如果碰巧在程序的某个地方隐藏了一个使用名称空间std的-那么,不要使用它:
为什么“使用命名空间std;”被认为是不好的做法?
问题内容: 将Object数组转换为Vector的最佳方法是什么? JDE <1.5 this.elements是一个Object [] 谢谢,雷特 我应该澄清我的问题 我的目标平台是黑莓。 不支持收藏。Array.asList()也不是:// 全班 问题答案: 现在,好像您要复制两次数据,但实际上并非如此。您确实得到了一个小的临时对象(来自的),但这提供了阵列的视图。而不是复制它,读和写操作将遍
注意温度场是一个浮动列表。我希望将这些浮点数列表转换为MLlib类型,并且希望这种转换使用基本的API来表示,而不是通过RDDs(这是低效的,因为它将所有数据从JVM发送到Python,处理是在Python中完成的,我们没有得到Spark的Catalyst优化器yada yada的好处)。我该怎么做?具体来说: 有没有办法让直铸件工作?请参见下面的详细信息(以及一次失败的变通尝试)?或者,是否有其
有没有办法将数据帧转换为向量?例如 预期产出
问题内容: 顾名思义,将字符串数组转换为向量的最佳方法是什么? 谢谢 问题答案: 调用Vector的构造函数,该构造函数使用现有集合(在本例中为数组)初始化自身:
问题内容: 我正在尝试将Java中的Javascript数组转换为Java数组。我正在使用javax.script包。我在这里测试了此示例,但是无法识别类型“ NativeArray” 我如何才能识别NativeArray类型? 问题答案: 按照这个答案,看来最好的选择是编写一个JavaScript转换器函数,该函数使用Rhino的Java绑定功能将本机JavaScript数组转换为Java数组。
问题内容: 我有一个想要转换为纯JavaScript数组的json数组: 这是我的json数组: 如何将其转换为普通的javascript数组,如下所示: 问题答案: 已经是JS对象(不是JSON)。但是,您可以在这里: 编辑:将 元素插入数组中的正确位置。谢谢@RoToRa 也许一开始不创建此类对象会更容易。它是如何创建的?